【发布时间】:2017-12-08 11:36:54
【问题描述】:
我正在尝试使用 PHPMailer 和 google SMTP 发送消息,但出现错误
连接:打开到 ssl://smtp.gmail.com:465, t=10, opt=array ('ssl' => array ('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed ' => 真的, ),) SMTP 错误:无法连接到服务器:连接超时 (110) SMTP connect() 失败。
邮件从我本地机器上的服务器发送正常,但它在我的 VPS (Debian 9) 上不起作用。 465端口正在监听,这是我调用命令时看到的
netstat -pln -t
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 15436/master
tcp6 0 0 :::465 :::* LISTEN 15436/master
当我尝试使用 telnet 连接到 google SMTP 时
telnet smtp.gmail.com 456
我明白了
正在尝试 173.194.73.109...
然后什么都没有发生。只是用光标清空命令行,我什至不能用 ^] 退出 telnet,我必须重新启动我的 ssh 连接。与端口 587 相同。
UPD:等待很长时间后,我收到了 telnet 错误
无法连接到远程主机:网络不可达
顺便说一句ping 173.194.73.109 工作正常
telnet localhost 465 也可以正常工作
【问题讨论】:
-
您的 VPS 可能有到端口 465 和/或 587 块的传出连接。检查您的防火墙设置。
-
我尝试通过运行
iptables -A INPUT -p tcp --dport 465 -j ACCEPT和iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT来打开这些端口,但没有成功 -
当我运行
iptables -L时,我在输入和输出上都得到了ACCEPT tcp -- anywhere anywhere tcp spt:urd