Jon*_*han 18 php email swiftmailer symfony
我发帖是因为我已经完成了其他问题的解决方案,但他们没有帮助.
我想要做的是通过Google Apps for Business Gmail使用Swiftmailer发送电子邮件,但我一直收到此错误:
无法通过主机smtp.gmail.com建立连接[连接超时#110]
我知道代码很好,因为它可以在我的本地机器上运行,但不能在生产服务器上运行.
到目前为止我尝试了什么:
组态:
# Swiftmailer Configuration
swiftmailer:
transport: smtp
encryption: ssl
auth_mode: login
host: smtp.gmail.com
username: contact@mydomain.com
password: applicationspecificpassword
port: 465
Run Code Online (Sandbox Code Playgroud)
我还能尝试什么?这可能是一个DNS问题,因为我使用的是Gmails SMTP MX记录而不是服务器.
iku*_*ris 11
以下步骤对我有用:
检查httpd_can_sendmail是否已打开,运行此命令getsebool httpd_can_sendmail
setsebool -P httpd_can_sendmail 1
检查httpd_can_network_connect是否打开,运行 getsebool httpd_can_network_connect
setsebool -P httpd_can_network_connect 1
'host' => '64.233.166.108'
'port' => '465'
我正在使用Centos
小智 3
如果你想重新使用 Gmail,我刚刚遇到了同样的问题 - 代码在我的本地计算机上运行,但在真实的服务器上运行失败 - 并且我认为我已经找出导致它的原因(至少在我的情况下) )。
看起来,如果服务器支持 IPv6 和 IPv4,则该服务器的域将解析为其 IPv6 版本,因此 PHP 会尝试连接到该版本。但我发现 smtp.gmail.com 没有响应,因此 30 秒后脚本就放弃并超时。您可能认为 PHP 会在 IPv6 失败后尝试 IPv4,但事实并非如此。
因此,当我交换 smtp.gmail.com 的 IPv4 地址(通过 ping 得到)时,一切正常并且电子邮件已发送。使用 IP 代替域并不理想,因为它可能会发生变化,但至少它可以节省挖掘服务器其余部分的麻烦:)
归档时间: |
|
查看次数: |
70895 次 |
最近记录: |