我有一个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”但它没有用.
这是“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