[英]Connection could not be established with host smtp.gmail.com [Connection timed out #110] in laravel 5.2
[英]Using gmail smtp via Laravel: [Connection timed out #110]
在进行投票或复制之前,请阅读说明 。
我知道这个问题被多次询问并且有不同的解决方案,我已经尝试了所有但没有人工作过。 这是我的设置。
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=abc@mydomain.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl
目前,应用程序正在Centos 7
OS上运行。
我总是得到
Swift_TransportException in StreamBuffer.php line 269: Connection could not be established with host smtp.gmail.com [Connection timed out #110]
at Swift_Transport_StreamBuffer->initialize(array('protocol' => 'ssl', 'host' => 'smtp.gmail.com', 'port' => '465', 'timeout' => '30', 'blocking' => '1', 'tls' => false, 'type' => '1', 'stream_context_options' => array())) in AbstractSmtpTransport.php line 113
我尝试了所有解决方案,通过替换: smtp.gmail.com with 173.194.65.108
,或者用smtp.gmail.com by gmail-smtp-msa.l.google.com
替换smtp.gmail.com by gmail-smtp-msa.l.google.com
。 当我执行这两个步骤时,它找不到服务器错误。
如果我将邮件驱动程序从smtp to sendmail or mail
更改smtp to sendmail or mail
,则不会抛出任何错误,但不会发送电子邮件。
如果我使用smtp.gmail.com的ip地址,我得到了相同的结果。 如果我将端口从465 to 587
更改465 to 587
并从ssl to tls
加密ssl to tls
,则没有任何反应。
我还在etc/gai.conf
创建了一个文件并输出precedence ::ffff:0:0/96 100
。 它工作了一次。 但是两个小时后,它停止工作并开始抛出相同的错误。
我也试过使用我的gmail id,但都是徒劳的。
我无法测试的唯一解决方案是验证httpd_can_sendmail
因为每当我运行命令getsebool httpd_can_sendmail
我得到getsebool: SELinux is disabled
。 这是问题还是有其他方法来解决它?
这是我的工作邮件配置文件:
return [
'driver' => 'smtp',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => ['address' => '*******@gmail.com', 'name' => '****'],
'encryption' => 'tls',
'username' => '*******@gmail.com',
'password' => '*******',
'sendmail' => '/usr/sbin/sendmail -bs',
];
但从你的问题我可以看到你已经尝试了所有这些,所以我可以假设这是一个基于错误'连接超时'的网络问题,我的意思是有什么东西阻止你的连接,它可能是你的防火墙,如果你有。
所以首先你应该检查端口587是否打开,或者你可以检查其他应用程序是否可以与smtp.gmail.com连接(不知道如何在centOs中进行)。
最后这可能不是问题,但您必须在Google帐户中启用“允许安全性较低的应用”才能进行测试。 (这不是永久解决方案,但是对于测试,如果它有效,那么你应该在谷歌帐户中启用两步验证然后创建新的应用程序,你可以创建新的特殊密码,你可以使用它作为smtp服务器的密码)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.