无法与主机 smtp.gmail.com 建立连接 Laravel 电子邮件中网络无法访问 #101 错误

问题描述 投票:0回答:6

我正在尝试从我的 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
。但我遇到了同样的错误。我该如何解决这个问题?

php laravel email smtp laravel-5.1
6个回答
37
投票

我使用代码解决了 cpanel 中的问题:

change MAIL_DRIVER=smtp to MAIL_DRIVER=sendmail in ".env" file

2
投票

1.) 更改 .env 文件中的配置后清除服务器上的缓存。

php artisan cache:clear;
php artisan config:cache;

如果错误仍然出现

连接被拒绝是一个非常明确且清晰的错误消息。意思是socket连接无法建立,因为远端主动拒绝连接。

Google 阻止连接的可能性很小。

您的网络托管提供商的防火墙设置很可能会阻止端口 465 上的传出连接,或者阻止 SMTP 发送到 Gmail。 465 是安全 SMTP 的“错误”端口,尽管它经常被使用,而且 Gmail 确实会监听该端口。请尝试改用端口 587。如果连接仍然被拒绝,请致电您的房东并询问他们发生了什么事。


2
投票

本地主机 -> 工作
生产 -> 未工作
检查您的生产防火墙策略或托管提供商策略是否阻止电子邮件端口(因为这些端口受到大量垃圾邮件)


1
投票

如果您的网站 URL 是 http://yourdomain.com

你需要使用这个端口587

或者如果您的网站网址是 https://yourdomain.com

你需要使用这个端口25


1
投票

访问您的服务器并进行编辑 纳米/etc/csf/csf.conf

SMTP_ALLOWUSER = "cpanel,yourusr"


0
投票

如果有人碰巧路过,这个视频 https://www.youtube.com/watch?v=067CnGzYq44 会有帮助。 解决了我在cpanel中发送邮件的问题

© www.soinside.com 2019 - 2024. All rights reserved.