我正在尝试从我的 laravel 5.1 系统发送电子邮件。我可以从本地主机发送电子邮件,但无法从服务器发送。请参阅 .env 文件中的我的电子邮件配置设置,
MAIL_DRIVER=smtp
MAIL_HOST= smtp.gmail.com
MAIL_PORT= 587
MAIL_USERNAME= username***@gmail.com
MAIL_PASSWORD= *********
MAIL_ENCRYPTION=tls
此配置仅适用于我的本地主机。在服务器上我收到此错误,
Swift_TransportException in StreamBuffer.php line 268:
Connection could not be established with host smtp.gmail.com [Network is unreachable #101]
我还尝试将
MAIL_PORT
从587
更改为465
,将MAIL_ENCRYPTION
从tls
更改为ssl
。但我遇到了同样的错误。我该如何解决这个问题?
我使用代码解决了 cpanel 中的问题:
change MAIL_DRIVER=smtp to MAIL_DRIVER=sendmail in ".env" file
1.) 更改 .env 文件中的配置后清除服务器上的缓存。
php artisan cache:clear;
php artisan config:cache;
如果错误仍然出现
连接被拒绝是一个非常明确且清晰的错误消息。意思是socket连接无法建立,因为远端主动拒绝连接。
Google 阻止连接的可能性很小。
您的网络托管提供商的防火墙设置很可能会阻止端口 465 上的传出连接,或者阻止 SMTP 发送到 Gmail。 465 是安全 SMTP 的“错误”端口,尽管它经常被使用,而且 Gmail 确实会监听该端口。请尝试改用端口 587。如果连接仍然被拒绝,请致电您的房东并询问他们发生了什么事。
本地主机 -> 工作
生产 -> 未工作
检查您的生产防火墙策略或托管提供商策略是否阻止电子邮件端口(因为这些端口受到大量垃圾邮件)
访问您的服务器并进行编辑 纳米/etc/csf/csf.conf
SMTP_ALLOWUSER = "cpanel,yourusr"
如果有人碰巧路过,这个视频 https://www.youtube.com/watch?v=067CnGzYq44 会有帮助。 解决了我在cpanel中发送邮件的问题