【发布时间】:2011-10-28 15:14:46
【问题描述】:
我有一个网站,在一些受欢迎的托管公司托管。问题是使用 php mail() 函数向用户电子邮件传递邮件需要的时间远远超过 1-2 分钟。 40 分钟是我想说的平均投递时间...我已就这个问题联系了我的托管公司的客户支持,他们说“没有邮件服务器可以保证一定的投递时间,因为任何邮件服务器都可以如果一次有多个请求通过,则体验排队。排队通常是暂时的,不应持续很长时间。但是请注意,如果收件人服务器也在排队,您可能会看到超过 30 分钟的等待时间。没有办法加快速度。 "
软管是共享的(不是专用服务器……我不知道这是否重要)。 关于如何将交货时间从 30-60 分钟缩短到 1-2 分钟的任何想法。 (更换我们的托管服务提供商是一笔交易,但不是最好的)......还有其他方法可以解决这个问题吗? (如果是的话,如果不需要太多时间,请提供分步说明)....
谢谢。
【问题讨论】:
-
由于服务器的资源是共享的,盒子上的另一个用户可能正在占用资源。此外,对于速度缓慢可能还有许多其他解释,您确定这不是您在接收端的错吗(即:您的电子邮件提供商不喜欢您的服务器)?
-
这是否只会影响 php mail() 或一般从该服务器发送邮件?它会影响所有收件人还是仅影响少数(=>灰名单!)。检查成功传递消息的“已接收”-标头以查看延迟发生的位置,自下而上阅读它们,每个接收到的标头都应显示类似“由 从 接收到的内容。检查您的 30 分钟延迟发生在哪两台服务器之间
-
替代方案是您可以使用第 3 方邮件类,如代码点火器之一,并选择不同的 smtp/pop 协议或服务器,只需最少的代码更改......
-
我认为所有服务器问题都可以通过代码解决..在共享服务器上邮件排长队...最好将服务器更改为 VPS 或专用服务器..跨度>
-
如果我不得不猜测,听起来服务器上的其他人正在成为垃圾邮件机器人。或者主机故意延迟外发邮件。因为其他人正在成为垃圾邮件机器人。