Symfony swiftmail不会从代码发送

时间:2018-08-28 10:05:27

标签: php symfony

曾经在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

1 个答案:

答案 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'