是否有一种方法可以使用php邮件函数或任何其他库获取带有postfix的电子邮件集的DSN状态?我可以解析日志的id和DSN状态,但这将不是很好的服务器,考虑到电子邮件流进来。我需要一种获取邮件状态并将其存储在DB或文件中的方法。
发布于 2013-12-02 14:11:51
一旦PHP邮件函数结束时没有错误代码,则MTA (postfix、sendmail或其他您最喜欢的东西)已经接受了消息,您的脚本和MTA之间的交互已经结束。
SMTP邮件一旦进入邮件队列,就会尝试立即传递,实际上可能会立即传递,或者传递可能会立即失败,但邮件也可以在队列中停留(几分钟、几个小时甚至几天),原因是在最终传递或失败之前出现了临时问题。
在(长期临时)故障的情况下,MTA的正常行为将是向发件人发送传递通知。没有任何失败通知意味着成功的远程传递(其中消息仍可能被(静默地)丢弃)。
您可以监视该发件人的邮箱,例如,筛选将通知传递到PHP脚本,然后将其分类并上载到数据库。
https://serverfault.com/questions/558675
复制相似问题