【发布时间】:2019-05-22 13:06:10
【问题描述】:
我在 Symfony 4 上安装了 Swift Mailer 来为新用户发送注册邮件。我注意到当我使用我的 Gmail 帐户发送电子邮件时它工作正常,但当我使用我的 Outlook 时它不起作用。
所以在阅读了documentation 之后,我像这样在我的 .env 文件中设置了 MAILER_URL
> MAILER_URL=smtp://localhost:25?encryption=ssl&auth_mode=login&username=*****%40live.com&password=******
我也用过:
> MAILER_URL=smtp://smtp-mail.outlook.com:25/encryption=ssl&auth_mode=login&username=*******%40live.com&password=********
我已将端口从 25 更改为 587 再更改为 465,但这些都不起作用。
这是我调用邮件程序的方法:
public function sendMail($subject, $fromEmail, $toEmail, $emailTemplate, $argumentsArray, $emailType, $imgPath)
{
$message = $this->setBasicEmailMessage($subject, $fromEmail, $emailTemplate, $argumentsArray, $emailType, $imgPath);
$message->setTo($toEmail);
$this->mailer->send($message);
}
private function setBasicEmailMessage($subject, $fromEmail, $emailTemplate, $argumentsArray, $emailType, $imgPath)
{
$message = (new \Swift_Message($subject))->setFrom($fromEmail);
$img = $message->embed(\Swift_Image::fromPath($imgPath));
$argumentsArray['img'] = $img;
$message->setBody(
$this->templating->render(
$emailTemplate,
$argumentsArray
),
$emailType
);
return $message;
}
这是我的 swiftmailer.yaml:
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
代码不会引发异常,但电子邮件永远不会发送给用户。
有人知道如何解决这个问题吗?
【问题讨论】:
标签: symfony smtp symfony4 swiftmailer