PHP:使用SwiftMailer的Google SMTP中继

时间:2017-11-22 14:30:17

标签: php symfony email smtp swiftmailer

我希望将Google的SMTP relay服务用作PHP中的SMTP服务器。

IP地址被列入SMTP中继服务的白名单,我使用SwiftMailer作为PHP库来发送电子邮件。

我将SMTP服务配置为使用TLS加密,并为SwiftMailer设置以下参数:

transport: smtp
host: smtp-relay.gmail.com
port: 587
encryption: tls
auth_mode: login

我能够通过telnet发送电子邮件,但是当我尝试使用上述配置发送带有SwiftMailer的电子邮件时,我收到以下错误:

[CLOSED] IMAP connection broken (server response) (errflg=2)

如何将SwiftMailer配置为使用Google SMTP中继服务作为其SMTP服务器?它有可能吗?

2 个答案:

答案 0 :(得分:0)

有类似的问题,当我提供sender_address(我正在检查谷歌中继服务器)时,它工作。 (我虽然没有使用auth模式,只是google gsuite中定义的IP源)

this.$store

答案 1 :(得分:0)

由于这里似乎没有足够的文献记录,因此在阅读了不同的资料后对我有用。 Gmail本身写道,发送HELO-或EHLO命令很重要,这可以通过设置本地域来完成(自swiftmailer-bundle 2.4.0起受支持)。否则,您可能会遇到DoS问题。有关更多详细信息,请参见官方Google documentation

transport:    smtp
host:         smtp-relay.gmail.com
port:         587
encryption:   tls
auth_mode:    login
username:     contact@yourdomain.com
password:     'yourpassword'
local_domain: yourdomain.com

另外,我确实在SMTP中继设置和激活的TLS + SMTP身份验证的Google管理控制台中添加了服务器的IPv4和IPv6地址,因为我确实想在服务器和gmail之间建立加密连接。

相关问题