【问题标题】:Symfony Send email in production environmentSymfony 在生产环境中发送电子邮件
【发布时间】:2023-04-02 01:32:01
【问题描述】:

我正在尝试在 prod 环境中发送电子邮件,但它不起作用...我收到此日志:

[2014-06-30 09:37:54] request.CRITICAL:未捕获的 PHP 异常 Swift_TransportException:“预期响应代码 250,但得到代码 “530”,带有消息“530 5.7.0 必须首先发出 STARTTLS 命令。 o2sm28357522wia.16 - gsmtp“”在 C:\xampp\htdocs\UniDocs\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php 第 386 行 {"exception":"[object] (Swift_TransportException: 预期 响应代码 250 但得到代码“530”,消息为“530 5.7.0 必须 首先发出 STARTTLS 命令。 o2sm28357522wia.16 - gsmtp\r\n\" at C:\xampp\htdocs\UniDocs\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php:386)"} []

但是,在开发中它正在工作......

我的配置如下:

config_dev.yml:

快速邮件: 传输:smtp 加密:ssl auth_mode:登录 主机:smtp.gmail.com 用户名:myemail@gmail.com 密码:mypass

config.yml:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%

parameters.yml:

mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: myemail@gmail.com
mailer_password: mypass

我还有一个问题...,在 web/app.php 中我必须写$kernel = new AppKernel('prod', false); 还是$kernel = new AppKernel('prod', true);??

【问题讨论】:

  • 使用 mailer_transport: gmail :) -- false

标签: symfony sendmail production-environment swiftmailer


【解决方案1】:

我使用我的 Gmail 帐户在 Symfony2 中发送电子邮件,我指定了一些您没有指定的参数。以下是我的配置:

config.yml:

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

parameters.yml:

mailer_transport:  smtp
mailer_encryption: ssl
mailer_auth_mode:  login
mailer_host:       smtp.gmail.com
mailer_username: myusername@gmail.com
mailer_password: mypassword

与你的第二个问题有关,原行是

$kernel = new AppKernel('prod', false);

如果您将此更改为 true,则可以在生产模式下显示错误消息,因为 AppKernel 构造的第二个参数指示调试模式。

【讨论】:

  • 只能使用3个参数——Cookbook
  • 伟大的@Airam!!!!非常感谢你的帮助!!我花了很多时间测试了许多其他不起作用的配置......你的完美!
  • 不客气@bamalu。如果您将答案勾选为有效,我将不胜感激,这样,这将对其他有同样问题的人有用。
  • 对我有用,将 mailer_encryption 设置为 tls,即 mailer_encryption: tls
猜你喜欢
  • 1970-01-01
  • 2021-03-21
  • 2016-03-20
  • 2012-05-04
  • 1970-01-01
  • 2018-12-07
  • 2016-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多