加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:44:02 所属栏目:PHP教程 来源:网络整理
导读:我在服务器上制作了一个快速 PHP脚本,其中包含对mail()的调用并开始测试它. html页面总是立即加载,所以我认为这意味着包含对mail()的调用的PHP已经完成执行.但是,邮件()发送的电子邮件只能在通话后每隔10-20分钟收到一次.为何延迟? mail()是否会触发外部程
我在服务器上制作了一个快速 PHP脚本,其中包含对mail()的调用并开始测试它. html页面总是立即加载,所以我认为这意味着包含对mail()的调用的PHP已经完成执行.但是,邮件()发送的电子邮件只能在通话后每隔10-20分钟收到一次.为何延迟? mail()是否会触发外部程序? (如果相关,则会将电子邮件发送到Gmail电子邮件帐户)
您看到的行为与PHP的mail()函数无关.相反,它是PHP发送邮件的SMTP邮件服务器,这需要时间来传递.该服务称为 a mail transport agent,or MTA.

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读