Я установил Swift Mailer на Symfony 4, чтобы отправить регистрационное письмо новым пользователям.Что я заметил, так это то, что он отлично работает, когда я использую свою учетную запись Gmail для отправки электронных писем, но не работает, когда я использую свой Outlook.
Поэтому после прочтения документации я установилMAILER_URL в моем файле .env, подобном этому
> 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' }
Код не вызывает исключение, ноэлектронное письмо никогда не доставляется пользователям.
У кого-нибудь есть идеи, как это исправить?