symfony swiftmailer:邮件未在prod-environment中发送

时间:2016-01-04 17:07:42

标签: php symfony fosuserbundle swiftmailer

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

sf版本:2.8.1 swiftmailer-bundle version:current(与sf版本兼容;作者json中的*) fosuserbundle:1.3.5(作曲家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

DEV-配置:

prod

有没有人有同样的问题?

修改

我刚刚在php sf --env=prod swiftmailer:email:send env:#!/usr/bin/env php From: test@antondachauer.de To: mail@antondachauer.de Subject: test Body: test Sent 1 emails

中尝试使用以下控制台命令发送邮件

终端输出:

dev

但邮件尚未发送。在execute schema.package.procedure('lorem', :a); -- Like TOAD execute schema.package.procedure('lorem'); execute package.procedure('lorem'); execute package.procedure('lorem', :a); -- Also Like TOAD env中,它也适用于终端。

1 个答案:

答案 0 :(得分:0)

我尝试了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