我无法在生产环境中发送电子邮件

时间:2015-12-14 22:22:19

标签: php symfony email production-environment swiftmailer

我在symfony项目(版本2.3.35)中工作,我无法在生产环境中发送电子邮件。除生产环境外,邮件在其他环境中完美发送。

例如,当我通过命令行发送电子邮件时: 这项工作:

php app/console swiftmailer:email:send --env=dev

但是,这不起作用:

php app/console swiftmailer:email:send --env=prod

两者的结果相同:

From: from_email@gmail.com
To: my_email@gmail.com
Subject: lorem ipsum
Body: lorem ipsum
Sent 1 emails

但是使用--env = prod选项我不会收到任何电子邮件。

我已尝试过将参数.yml和config.yml设置为像this post一样的数百次,但它仍无效。

应用/配置/ config.yml

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_username%
    password:  %mailer_password%
    spool:     { type: memory }

应用/配置/ parameters.yml

mailer_transport: gmail
mailer_host: smtp.gmail.com
mailer_username: my_email@gmail.com
mailer_password: apswd

此外:

  • prod.log和dev.log在swiftmailer上没有任何错误。

有什么建议吗?

提前致谢。

修改 在存储项目的服务器(Ubuntu Server 12.04)上,我可以使用命令行或使用脚本php(带mail()函数)发送电子邮件。两者都很完美。

解决方案

我终于通过使用:

解决了这个问题
php app/console cache:clear --env=prod

我不知道为什么,但这个命令解决了这个问题。在此命令之后,电子邮件完全从生产环境发送。

感谢大家。

1 个答案:

答案 0 :(得分:0)

Mails are sent perfectly in others environments except in production environment.

尝试登录到生产服务器并尝试从命令行发送电子邮件。

您可能需要使用系统管理员来查看是否允许从生产系统发送电子邮件。

您可能需要与安全/网络人员合作,以查看电子邮件端口(通常是端口25)是否被阻止。