【发布时间】:2015-03-10 13:00:09
【问题描述】:
我一直在努力解决这个问题......任何线索将不胜感激。
我在运行 exim 的 Ubuntu 12.04 服务器上通过 PHPMailers SMTP 类本地发送邮件。如果我只发送 10 条消息,一切正常。但是,如果我排队说 260 多条消息并尝试一个接一个地发送它们,我可以保证其中约 30 条消息将与该行一起返回:
MAIL not accepted from server
他们都去同一个地址(其他 230 个成功地到达那里),我有时可以看到 exim 中的队列正在运行,那么可能是什么原因造成的,如果发生这种错误,为什么不会发生这种错误我只是在使用“邮件”命令?
提前致谢。
本
P.S:我没有使用 mail 命令,因为我实际上是从 SMTP 输出中提取消息 ID
更新
我在 PHPMailers class.smtp.php 文件中进行了更多挖掘,并在 Mail 函数中添加了一个或两个 var_dump,我还将调试级别提高到 4(以便我看到每个 SMTP 响应)。似乎$this->getLines() 函数正在从套接字读取一个空白行...... class.smtp.php 正在解释(可能是错误的)然后退出。这是一个有效的回应吗?为什么 telnet 什么都不返回..?
【问题讨论】:
-
您是否尝试在邮件之间设置
sleep(1);延迟?您在一定时间内可以发送的邮件数量可能存在限制。 -
我确实做到了,在每条消息之后。事实上,如果我收到消息,我也会在其中添加一个额外的 sleep(1) 命令:(
-
听起来您需要检查邮件服务器日志中写入的内容。
标签: php email ubuntu smtp phpmailer