【问题标题】:How to Speed up PHP Mail ? (using CRON)如何加速 PHP 邮件? (使用 CRON)
【发布时间】:2010-08-25 16:37:56
【问题描述】:

我正在使用 PHP 5 并创建邮件命令来发送信息。

我的 Linux(共享)主机 (www.KoreDomains.com) 大约每小时发送一次电子邮件。

什么是一个好的 CRON 命令/一组命令来加快进程(比如每 5 分钟通过电子邮件发送队列中的内容)?

我们的目标是让电子邮件以接近“实时”的方式显示给用户。

提前感谢您的帮助!

詹姆斯

【问题讨论】:

  • 在当前状态下,这并不是一个真正的问题。您已经发布了您的解决方案,但没有亲自尝试过。在基本层面上,您需要编写一个队列系统来处理电子邮件 - 先进先出的风格。
  • 您访问的是哪种邮件服务器? PHP 本身不会将邮件传递给最终收件人。它只需将您传递给mail() 函数的任何内容都提供给外部SMTP 服务器。实际发送电子邮件取决于该服务器,而在共享主机上,您不太可能采取任何措施来加快其队列处理速度。
  • 简短而快速的建议是 1) 与您的主机交谈,看看他们是否可以调整任何设置以加快您的电子邮件发送(他们也可能有节流限制等,这可能会导致问题将来,如果您专注于电子邮件),2)如果#1让您不满意,请考虑通过单独的SMTP服务器(甚至通过GMail)处理您的电子邮件。 [网上有关于 #2 的教程 - 只需谷歌一下。]

标签: php email cron


【解决方案1】:

与我遇到的所有与从 php 发送邮件有关的问题一样,这与 PHP 无关,而是与 MTA 的配置有关。无论您在发送邮件时的调度方面做什么以及如何调整 PHP 代码都无关紧要,因为 MTA 似乎只每小时处理一次队列。

如果您希望尽快发送邮件,则需要更改 MTA 设置。这在大多数托管服务上都不实用,更不用说共享服务了。您需要找到不同的提供商。但不要指望提供商会发布有关如何配置 MTA 的具体信息。

或者保留您的代码并尝试连接到不同的 MTA(您需要一个支持 SMTP 的 PHP 客户端 - 例如 phpmailer),这假定您的服务提供商已将服务器配置为允许传出 SMTP 连接并且可以解析IP 地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2010-10-29
    • 2011-03-23
    • 1970-01-01
    • 2013-04-09
    • 2013-09-06
    • 1970-01-01
    相关资源
    最近更新 更多