Некоторое время боролся с swiftmail.
У меня есть сервер Linux и правильно работает sendmail. Отправка почты из командной строки работает.
И отправка с swiftmail через командную строку также работает, поэтому конфигурация должна быть в порядке.
Но из кода это не так. Должно быть, прочитал все вопросы об этом, и я совершенно запутался, что происходит.
Токен создан в порядке, и все, кажется, работает. Нет ошибок в журналах. Но почта просто не приходит. Я также пытался отправить на разные домены. И, как я уже сказал, он работает из командной строки с такими командами mail и swiftmail:
bin/console swiftmailer:email:send --subject="Test" --body="test" --from="info@domain.com" --to="test@anotherdomain.com"
Вот текущий код:
$mailer = $this->get('mailer');
$message = $mailer->createMessage()
->setSubject('You forgot password')
->setFrom('info@domain.com')
->setTo($username)
->setBody('You forgot your password. Go and change it from http://url.com/change-password/'.$user->getConfirmationToken());
$mailer->send($message);
Вот config.yml:
swiftmailer:
transport: sendmail
host: /usr/sbin/sendmail -bs