SSL 邮件服务器连接在 send() 时超时

SSL 邮件服务器连接在 send() 时超时

当我尝试使用带有 SSL 连接的 PHP Pear Mail 包以编程方式从我的网站发送电子邮件时,PEAR:Mail 回复以下内容:

Failed to connect to example.blabla.net:PORT
[SMTP: Failed to connect socket: connection timed out (code: -1, response: )]

我在 SO 和 SF 上查找了类似的问题,所有答案都要求 OP 在命令行中测试 telnet 或 ssh 上的请求。所以,这就是我所做的,结果如下:

$ ssh -l myusername -p PORT example.blablabla.net
_

这里,第二行中的“_”表示什么也没有发生。无限期地,这似乎与我从 PEAR:Mail 收到的超时消息一致。因此 PEAR:Mail 似乎没有理由。

但我要告诉你的是昨天刚刚生效。连接已正确建立,邮件已正确发送,等等。就在今天,它不再工作了,我完全不知道为什么。我重新启动了 Apache(以防扩展损坏),重新启动了邮件服务等。仍然没有效果。

在昨天(它可以工作时)和今天(它不再工作时)之前,我只是没有碰过服务器并且没有对其进行任何操作,只是因为我休息了一天来写一些博客文章!

你们中有人遇到过类似的问题吗?经过谷歌搜索后发现,这个问题似乎很常见,但解决方案却并非如此。

谢谢你的帮助 !

(配置说明:带有 cPanel/WHM 的 CentOS 6.4 x86_64)

答案1

您的服务器似乎正在连接到其他人控制的服务器并向其发送电子邮件(可能直接将电子邮件发送到收件人的域?)。连接不通不一定是您的错;实际上听起来像是连接问题或远程站点间歇性宕机。

为了解决这个问题,您通常可以将所有邮件直接发送到您自己的 SMTP 服务器,这样您就可以执行诸如将其保存在队列中并重试之类的操作。由于您不幸使用 cPanel,这意味着您必须在本地主机上使用 exim,或者设置另一个服务器来中继电子邮件。如果可以,最好在本地主机上托管此类内容,因为这可以大大降低因连接失败而导致邮件丢失的可能性。

相关内容