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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...