从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]
我该如何解决?
答案 0 :(得分:5)
问题已解决。 我在 MAIL_DRIVER 和 MAIL_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
运行正常
答案 1 :(得分:1)
我知道这个问题已经回答,但是我有一个替代解决方案,该解决方案与原始描述相匹配,可能会对某人有所帮助。您没有回答Loek关于是否运行cPanel的问题。我们使用lfd / csf防火墙运行cPanel,它具有TCP_OUT配置,该配置列出了可能连接到哪些出站端口。端口465(tls)不在该列表中,因此我们获得了“拒绝连接”报告,甚至在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列表后:
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 '^]'.
(这表明套接字连接已建立。您可能不想与SMTP进行实际对话,因此请按ctrl-]并键入quit
并按Enter键以关闭连接)
当然这不是cPanel专用的,您可能正在运行另一个防火墙管理器,该管理器不允许您尝试连接的端口上的出站连接。
答案 2 :(得分:1)
经过几天的研究。由于主机服务器
,我无法与主机smtp.gmail.com建立连接问题[拒绝连接]由于GoDaddy阻止了通过端口465和587(可能是来自您站点的25)上的SMTP通信。他们将只允许邮件流通过其自己的SMTP服务器。
这是我的问题。希望它能对某人有所帮助
作为参考,请检查以下内容: https://pk.godaddy.com/community/Using-WordPress/Connection-Refused-for-GMail-SMTP/td-p/33107
答案 3 :(得分:0)
我以前确实遇到过此问题,但确实允许Google客户经理提供安全性较低的应用。我的问题解决了。
似乎您也需要扩展应用程序的授权才能使用gmail。
您可以按照以下步骤操作...
登录到您的Gmail帐户。
访问此link即可更改设置。
然后您必须打开Allow less secure apps
。
之后,再次尝试通过您的主机发送电子邮件。