我有一个简单的webform在bluehost上运行,当提交时,发送邮件到通讯组列表。
最近邮件服务器宕机了,当提交按钮被点击时,我的php邮件脚本挂起了。用户再次尝试,页面再次挂起。后来,当邮件服务器重新启动时,它发送了多个邮件副本。
我的问题是,有没有一种简单的方法可以在脚本上设置某种超时,以便在设置的时间段过去而邮件服务器没有确认请求,或者如果不成功的尝试次数超过了预设的数量,那么脚本将停止尝试发送邮件?
我的脚本:
// try to send email
if (mail($to,$subject,$msg,$headers)) {
header('Location: complete.php');
} else
{
header('Location: incomplete.php');
}谢谢你能给我的任何建议,Rich。
PS。我没有权限更改服务器上的任何设置,尽管我在本地目录中保存了一个.htaccess文件。
发布于 2011-04-01 21:23:11
这是不可能的。您可能想看看phpmailer,它比php提供的内置mail()函数高级得多。
如果邮件已经提交到邮件服务器,mail()总是返回true (实际上不应该在mailserver关闭时挂起,但返回false)。
https://stackoverflow.com/questions/5513927
复制相似问题