曾经在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
答案 0 :(得分:0)
我遇到了同样的问题,并通过在swift mailer上禁用后台打印来解决了该问题。
您未指定所使用的Symfony版本。如果您使用的是Symfony 4,则/config/packages/swiftmailer.yaml中应该有一个配置文件
这是我的:
swiftmailer:
url: '%env(MAILER_URL)%'
#spool:
#type: 'memory'
#type: file
#path: '%kernel.project_dir%/var/spool'