为什么我不能用 SwiftMailer 发送 Gmail 邮件?
Why I cant send a Gmail email with SwiftMailer?
当我尝试在我的 Symfony 项目中使用 swiftmailer
发送电子邮件时,我得到了这个异常:
Exception occurred while flushing email queue: Connection could not be
established with host smtp.gmail.com [ #0]
这是我的 config.yml:
swiftmailer:
transport: '%mailer_transport%'
encryption: '%mailer_encryption%'
port: '%mailer_port%'
auth_mode: '%mailer_auth_mode%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
和我的 parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: pidev
database_user: root
database_password: null
mailer_transport: smtp
mailer_encryption: ssl
mailer_auth_mode: login
mailer_port: 465
mailer_host: smtp.gmail.com
mailer_user: 'myGmailAddress'
mailer_password: 'mypassword'
secret: ThisTokenIsNotSoSecretChangeIt
我允许在我的 Gmail 帐户上使用安全性较低的应用程序,并禁用了我的防病毒软件和防火墙。
另外,我已经尝试 ping smtp.gmail.com,它工作正常,但我遇到了同样的问题。
使用 gmail 发送电子邮件非常简单。配置以下键:
swiftmailer:
transport: gmail
username: %mailer_user%
password: %mailer_password%
大功告成!
问题已解决,我只需添加以下两行代码即可:
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
在
vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
就在第 263 行之后,所以它看起来像这样:
$options = array_merge($options, $this->_params['stream_context_options']);
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
现在一切正常!
当我尝试在我的 Symfony 项目中使用 swiftmailer
发送电子邮件时,我得到了这个异常:
Exception occurred while flushing email queue: Connection could not be established with host smtp.gmail.com [ #0]
这是我的 config.yml:
swiftmailer:
transport: '%mailer_transport%'
encryption: '%mailer_encryption%'
port: '%mailer_port%'
auth_mode: '%mailer_auth_mode%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
和我的 parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: pidev
database_user: root
database_password: null
mailer_transport: smtp
mailer_encryption: ssl
mailer_auth_mode: login
mailer_port: 465
mailer_host: smtp.gmail.com
mailer_user: 'myGmailAddress'
mailer_password: 'mypassword'
secret: ThisTokenIsNotSoSecretChangeIt
我允许在我的 Gmail 帐户上使用安全性较低的应用程序,并禁用了我的防病毒软件和防火墙。 另外,我已经尝试 ping smtp.gmail.com,它工作正常,但我遇到了同样的问题。
使用 gmail 发送电子邮件非常简单。配置以下键:
swiftmailer:
transport: gmail
username: %mailer_user%
password: %mailer_password%
大功告成!
问题已解决,我只需添加以下两行代码即可:
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
在
vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
就在第 263 行之后,所以它看起来像这样:
$options = array_merge($options, $this->_params['stream_context_options']);
$options['ssl']['verify_peer'] = FALSE;
$options['ssl']['verify_peer_name'] = FALSE;
现在一切正常!