我需要帮助将sendgrid嵌入我的symfony 4项目中。 我安装了https://github.com/expertcoder/SwiftmailerSendGridBundle以使用api,并按照说明正确进行操作,并从sendgrid获得了API密钥
这是我的.env文件中的部分
MAILER_URL=smtp://smtp.sendgrid.net:587?encryption=tls&auth_mode=login&username=%SENDGRID_API_KEY%&password=%SENDGRID_API_KEY%
###> expertcoder/swiftmailer-send-grid-bundle ###
SENDGRID_API_KEY= MyAPiKey
###< expertcoder/swiftmailer-send-grid-bundle ###
对吗?谢谢
答案 0 :(得分:1)
此答案不是使用Swiftmailer,而是Symfony的新Mailer。在Symfony Docs之后,您必须安装
composer require symfony/mailer
和composer require symfony/sendgrid-mailer
然后取消注释.env文件中的新行,并添加您的Sendgrid API密钥
###> symfony/sendgrid-mailer ###
SENDGRID_KEY=YOUR-API-KEY
MAILER_DSN=smtp://$SENDGRID_KEY@sendgrid
###< symfony/sendgrid-mailer ###
(MAILER_DSN使用SENDGRID_KEY变量,因此请勿设置两次)
理想情况下,您还应将这些行添加到 .env.local 文件中,并从.env文件中删除API密钥。
最后:
$email = (new Email())
->from('hello@example.com')
->to('you@example.com')
//->cc('cc@example.com')
//->bcc('bcc@example.com')
//->replyTo('fabien@example.com')
//->priority(Email::PRIORITY_HIGH)
->subject('Time for Symfony Mailer!')
->text('Sending emails is fun again!')
->html('<p>See Twig integration for better HTML integration!</p>');
$mailer->send($email);