亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SwiftMailer 無法發送 TemplatedEmail ,symfony 4

SwiftMailer 無法發送 TemplatedEmail ,symfony 4

PHP
慕桂英546537 2022-12-23 13:26:19
這是 swiftmailer 所說的,盡管 symfony 4 文檔說我們可以發送這樣的 TemplatedEmail 對象,但這是不可能的:傳遞給 Swift_Mailer::send() 的參數 1 必須是 Swift_Mime_SimpleMessage 的實例,給定的 Symfony\Bridge\Twig\Mime\TemplatedEmail 實例,在 /home/tk/html/src/Service/MailService.php 的第 103 行調用在我的 MailService 中發送我的 html 郵件的代碼:// ...use Swift_Mailer;use Symfony\Bridge\Twig\Mime\TemplatedEmail;class MailService {// ...public function sendOwnerPollsAction( Owner $foundOwner ) {        // anti spam , limit to every minute TODO//      $lastSend = $admin_user->getRequestedPollsDate();//      $now      = new \DateTime();//      if ( date_diff( $lastSend, $now ) < 60 ) {//          // too soon!//          die( 'too soon!' );//      }//      $admin_user->setRequestedPollsDate( $now );//      $em->persist( $admin_user );//      $em->flush();        $titleEmail = 'Framadate | Mes sondages';        $templateVars = [            'owner'          => $foundOwner,            'title'          => $titleEmail,            'email_template' => 'emails/owner-list.html.twig',        ];        $email = ( new TemplatedEmail() )            ->from( '[email protected]' )            ->to( new Address( $foundOwner->getEmail() ) )            ->subject( $titleEmail )            ->htmlTemplate( $templateVars[ 'email_template' ] )            ->context( $templateVars );        // send email        return $this->mailer->send( $email );    }symfony 4 的 swiftmailer 文檔說我們可以像那樣發送郵件,并且 templatedemail 擴展了電子郵件。 https://symfony.com/doc/4.3/mailer.html#creating-sending-messages 所以我不知道我們如何發送模板化的 html 電子郵件。包裹:"symfony/framework-bundle": "4.3.*","symfony/swiftmailer-bundle": "^3.4","php": "^7.1.3",
查看完整描述

1 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您正在將 Symfony Mailer 與 Swift Mailer 混合使用。


TemplatedEmail 來自Symfony Mailer,但您正在嘗試使用Swift Mailer 發送。因此錯誤。


如果你真的想使用 Swift Mailer,那么需要你的 TemplateEmail 部分。


Symfony 的 SwiftMailer摘錄:


$message = (new \Swift_Message($titleEmail))

        ->setFrom('[email protected]')

        ->setTo(new Address( $foundOwner->getEmail() ))

        ->setBody(

            $this->renderView(

                'emails/owner-list.html.twig',

                [

                'title'          => $titleEmail,

                'email_template' => 'emails/owner-list.html.twig'

                ]

            ),

            'text/html'

        )


$mailer->send($message);

如果您想將 TemplatedEmail 與Symfony Mailer 一起使用,請關注Symfony 上的Mailer 。還有其他配置需要完成。


查看完整回答
反對 回復 2022-12-23
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號