【问题标题】:I can't send email on production environment我无法在生产环境中发送电子邮件
【发布时间】:2016-03-20 13:32:34
【问题描述】:

我在一个 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 选项我没有收到任何电子邮件。

我已经尝试过数百次设置 parameters.yml 和 config.yml ,就像在 this post 中一样,但它仍然无法正常工作。

app/config/config.yml

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

app/config/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 这个问题,我最近也遇到了类似的奇怪问题,很想听听答案。

标签: php symfony email production-environment swiftmailer


【解决方案1】:

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

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

您可能需要与系统管理员合作,查看是否允许从生产系统发送电子邮件。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2021-03-21
    • 2021-03-16
    • 2012-05-04
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多