Symfony在生产环境中发送电子邮件

bam*_*alu 1 sendmail production-environment swiftmailer symfony

我试图在prod环境中发送电子邮件,但它不起作用...我得到这个日志:

[2014-06-30 9点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 \"在C:\ xampp\htdocs\UniDocs\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php:386)"} []

然而,在开发中它正在工作......

我的配置如下:

config_dev.yml:

swiftmailer:transport:smtp encryption:ssl auth_mode:login host:smtp.gmail.com username:myemail@gmail.com密码:mypass

config.yml:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%
Run Code Online (Sandbox Code Playgroud)

parameters.yml:

mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: myemail@gmail.com
mailer_password: mypass
Run Code Online (Sandbox Code Playgroud)

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

Air*_*ram 8

我已经使用我的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 }
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

与您的第二个问题相关,原始行是

$kernel = new AppKernel('prod', false);
Run Code Online (Sandbox Code Playgroud)

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