PHP MAIL() dsn 状态

PHP MAIL() dsn 状态

有没有办法使用 php 邮件函数或任何其他库获取使用 postfix 设置的电子邮件的 DSN 状态?我可以解析日志中的 id 和 DSN 状态,但考虑到传入的电子邮件流量,这对服务器来说不太好。我需要一种方法来获取邮件的状态并将其存储在数据库或文件中。

答案1

一旦 PHP 邮件函数在没有错误代码的情况下结束,该消息已被 MTA(postfix、sendmail 或任何您喜欢的程序)接受,您的脚本和 MTA 之间的交互就结束了。

一旦 SMTP 消息进入邮件队列,它将被尝试立即传送,并且实际上可能会立即传送,或者传送可能立即失败,但是该消息也可能会由于最终传送或失败之前的暂时性问题而停留在队列中(几分钟、几小时甚至几天)。

如果发生(长时间暂时)故障,MTA 的正常行为是向发送者发送递送通知。没有故障通知则表示远程递送成功(但邮件可能仍会被(悄悄地)丢弃)。

您可以监控该发件人的邮箱,例如将传递通知过滤到 PHP 脚本中,该脚本会对其进行分类并将其上传到您的数据库。

相关内容