是什么让PHP的mail()函数变得如此之慢?

前端之家收集整理的这篇文章主要介绍了是什么让PHP的mail()函数变得如此之慢?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在服务器上制作了一个快速 PHP脚本,其中包含对mail()的调用并开始测试它. html页面总是立即加载,所以我认为这意味着包含对mail()的调用PHP已经完成执行.但是,邮件()发送的电子邮件只能在通话后每隔10-20分钟收到一次.为何延迟? mail()是否会触发外部程序? (如果相关,则会将电子邮件发送到Gmail电子邮件帐户)
您看到的行为与PHP的mail()函数无关.相反,它是PHP发送邮件的SMTP邮件服务器,这需要时间来传递.该服务称为 a mail transport agent,or MTA.

有很多潜在的原因不能立即交付.可能,您在接收服务器上看到的延迟是greylisting,这意味着接收邮件服务器拒绝接受该消息,直到发送服务器(您的PHP脚本将其发送到)尝试几次重新发送它.表现良好的MTA将重试失败的发送尝试,但垃圾邮件服务器通常不会,这使得这是一种简单但有效的减少垃圾邮件方法.

它甚至可以像SMTP服务器上等待发送的长队列消息一样简单,从而使您排队等候. (虽然更可能是灰名单)

但最重要的是要记住,电子邮件不是即时的,因此永远不能保证是即时的.在过去十年左右的时间里,我们已经习惯于快速地发送电子邮件,但是你永远不能保证快速交付.

猜你在找的PHP相关文章