我无法通过prod。中的Symfony3中的命令发送电子邮件。
我的代码:
$message = \Swift_Message::newInstance()
->setSubject('A subject')
->setFrom('email@site.com')
->setTo('email@site.com')
->setBody('content', 'text/html');
$mailer = $this->getContainer()->get('mailer');
$mailer->send($message);
Config.yml
# Swiftmailer Configuration
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
port: '%mailer_port%'
encryption: '%mailer_encryption%'
spool: { type: memory }
Parameters.yml
mailer_transport: smtp
mailer_host: myhostfromovh
mailer_encryption: null
mailer_port: 587
mailer_user: myuser
mailer_password: mypassword
我没有收到任何错误,但我的邮箱中没有收到任何电子邮件。 :(
此外,当我在命令行中写道时:
php app/console swiftmailer:email:send
我得到了:
[2017-12-22 13:31:12] app.ERROR: Exception occurred while flushing email queue: Connection could not be established with host myhostfromovh [Connection refused #111]
我通过smtp.gmail.com或ns0.ovh.net(使用PORT和USER / PASSWORD)更改了我的自定义主机 myhostfromovh ,无所事事,它无法正常工作。 : - (
但是!当我在Controller中执行相同的代码时没问题,我收到了邮件。所以我不明白。
救救我! \ O /
答案 0 :(得分:0)
您已在swiftmail中启用了电子邮件队列,这意味着电子邮件将在内核事件终止期间排队并发送(在您已将响应发送到客户端之后)。
您应该在var / logs / prod.log上有控制器的错误
似乎您的主机不允许连接到该主机:端口。可能的原因?
安装mailcatcher https://mailcatcher.me/并尝试将电子邮件发送到您当地的smtp服务器。