无法与主机 smtp.gmail.com 建立连接 [Connection refused #111] in laravel 5.6 email send

Connection could not be established with host smtp.gmail.com [Connection refused #111] in laravel 5.6 email send

从 cpnel 发送电子邮件失败,但在我的本地主机上工作正常。

这是我在 .env 文件中的电子邮件配置。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl

它在 localhost 中工作正常但在 cpanel 中不工作。在 cpanel 中显示

Connection could not be established with host smtp.gmail.com [Connection refused #111]

我该如何解决?

我以前确实遇到过这个问题,我确实允许来自 google 客户经理的安全性较低的应用程序。我的问题解决了。

看来您也需要扩展应用授权才能使用gmail。

您可以按照以下步骤操作...

登录您的 Gmail 帐户。

访问此 link 以更改设置。

然后你必须打开Allow less secure apps

之后再次尝试通过您的主机发送电子邮件。

问题已解决。 我在这里做了两件事 MAIL_DRIVERMAIL_PORT.

MAIL_DRIVER=sendmail
MAIL_PORT=587

所以,我的完整代码是:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=ssl

工作正常

我知道这个问题已经得到解答,但我有一个与原始描述相符的替代解决方案,可能会对某人有所帮助。你没有回答 Loek 关于你是否 运行 cPanel 的问题。我们 运行 带有 lfd/csf 防火墙的 cPanel,它有 TCP_OUT 配置,列出了可以连接的出站端口。端口 465 (tls) 不在那个列表中,所以我们得到了 'Connection Refused' 报告,甚至在我们的 VPS 服务器的命令行上尝试了一个低级别的 telnet 测试:

$ telnet smtp.gmail.com 465
Trying 74.125.140.109...
telnet: connect to address 74.125.140.109: Connection refused
Trying 74.125.140.108...
telnet: connect to address 74.125.140.108: Connection refused
Trying 2a00:1450:400c:c08::6d...
telnet: connect to address 2a00:1450:400c:c08::6d: Connection refused

相同的 telnet 测试在我的本地机器上工作正常。

将 465 添加到 TCP_OUT 列表后:

  • 加载 WHM 控制面板
  • 转到ConfigServer Security & Firewall
  • 转到Firewall Configuration
  • 找到 TCP_OUT 并将 465(或您尝试连接的任何端口)添加到列表中
  • 点击页面底部的Change,然后点击Restart lfd/csf

Telnet 现在成功了,通过 PHPMailer 发送 smtpauth 邮件也是如此:

$ telnet smtp.gmail.com 465
Trying 74.125.140.109...
Connected to smtp.gmail.com.
Escape character is '^]'.

(这表示已建立套接字连接。您可能不想实际与 Google 进行 SMTP 对话,因此请按 ctrl-] 并键入 quit 并按回车键关闭连接)

当然这不是特定于 cPanel 的,您可能 运行 正在使用另一个不允许在您尝试连接的端口上进行出站连接的防火墙管理器。

经过几天的研究。由于我的 godaddy 服务器

,我遇到无法与主机 smtp.gmail.com [连接被拒绝] 建立连接的问题

因为 GoDaddy 会阻止通过端口 465 和 587 以及可能来自您网站的 25 端口的 SMTP 通信。他们将只允许邮件流经他们自己的 SMTP 服务器。

这是我的问题。希望对某人有所帮助

作为参考检查: https://pk.godaddy.com/community/Using-WordPress/Connection-Refused-for-GMail-SMTP/td-p/33107

我做了接下来的步骤:

  • 进入GoDaddy的cPanel
  • 转到选项 > 电子邮件帐户
  • 点击选项 > + 创建 并创建一个电子邮件。

及变更后

我通过更改文件解决了这个问题.env

MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=emailcreated@email.com
MAIL_FROM_NAME="NAME_APP"

希望对大家有所帮助!!