phpMailer 在给定时间后不会超时


$mailer = new SMTP;    
$mailer->Timeout = 5;    
$mailer->connect($host, $port)    
这应该在 5 秒后取消

connect((,但超时需要更长的时间,并且在 5 秒后不会取消。

如何强制脚本在 5 秒后停止尝试连接到 SMTP?

我期待着你的回答。

此致敬意

分心的家伙

PHPMailer 的 SMTP 类有两个超时 - TimeoutTimelimit

Timeout在建立初始 TCP 连接时适用。 Timelimit是每个 SMTP 命令的响应允许的持续时间。两者都默认为 5 分钟(根据 RFC( - 因此可能是您正在快速连接,但服务器对命令的响应速度非常慢。您应该尝试将Timelimit设置为较低的值,如下所示:

$mail->getSMTPInstance()->Timelimit = 5;

所有这些都应该提醒您,SMTP不打算成为交互式的即时协议,因此您应该只使用SMTP到可以正确排队请求的附近服务器。

相关内容

  • 没有找到相关文章

最新更新