情况如下:我有一个带有 PHP 5.2 和标准 sendmail 的 Redhat Linux 服务器,我们使用它来向包含 10,000 个电子邮件地址的列表发送电子邮件。我们有一个相当简单的脚本,它使用 PHPMailer 并通过 SMTP 连接到监听的 sendmail 守护进程。
每当此脚本运行时,它最终都会开始运行缓慢 - 它会快速启动,但随后会减慢到每隔几分钟仅发送 1 封电子邮件。当我重新启动脚本时,它会再次快速运行一段时间。
在 sendmail 服务器上,我在脚本中添加了一些设置来尝试解决限制问题:
define(`confMAX_QUEUE_RUN_SIZE',`0')dnl
define(`confBAD_RCPT_THROTTLE', `0')dnl
define(`confCONNECTION_RATE_THROTTLE', `0')dnl
到目前为止,我不确定解决问题的最佳方法 - 甚至是解决问题的方法。/var/log/maillog 文件实际上并没有任何有用的信息。
我们在防火墙后面有这个 sendmail 实例,所以我们不需要担心安全性……只需打开它,让邮件流动!