微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – symfony swiftmailer:邮件不是在prod-environment中发送的

我有一个symfony 2.8应用程序,实现了fosuserbundle.在开发环境中,会发送注册确认邮件,但不会在prod环境中发送.没有日志消息,并且smpt配置正确.

sf版本:2.8.1
swiftmailer-bundle version:current(与sf版本兼容; 2. *在composer json中)
fosuserbundle:1.3.5(作曲中的*)

DEV-配置:

imports:
    - { resource: config.yml }

framework:
    router:
    resource: "%kernel.root_dir%/config/routing_dev.yml"
    #strict_requirements: true
    profiler: { only_exceptions: true }

web_profiler:
    toolbar: true
    intercept_redirects: true

assetic:
    use_controller: true

有没有人有同样的问题?

编辑

我刚刚在prod env中尝试了一个带有以下控制台命令的邮件PHP sf –env = prod swiftmailer:email:send

终端输出

#!/usr/bin/env PHP
From: test@antondachauer.de
To: mail@antondachauer.de
Subject: test
Body: test
Sent 1 emails

邮件尚未发送.在开发环境中,它也适用于终端.

解决方法

我尝试了 here提到的所有解决方案,
这是“gethostbyname”和“更改Gmail的smtp”但它没有用.

经过几天的挖掘,我找到了一个解决方案,你需要将加密更改为tls,并在config中的stream_options中添加ssl.根据安全角度不建议这样做,但它适用于我的情况.

parameters.yml

mailer_prod_encryption: tls

config.yml

swiftmailer:
  transport:  "%mailer_dev_transport%"
  host:       "%mailer_dev_host%"
  username:   "%mailer_dev_user%"
  password:   "%mailer_dev_password%"
  encryption: "%mailer_dev_encryption%"
  auth_mode:  "%mailer_dev_auth_mode%"
  spool:     { type: memory }
  port: 25
  stream_options:
    ssl:
      allow_self_signed: true
      verify_peer: false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐