![Postfix - 使用管道将 NOTIFY 命令传输到脚本](https://linux22.com/image/613472/Postfix%20-%20%E4%BD%BF%E7%94%A8%E7%AE%A1%E9%81%93%E5%B0%86%20NOTIFY%20%E5%91%BD%E4%BB%A4%E4%BC%A0%E8%BE%93%E5%88%B0%E8%84%9A%E6%9C%AC.png)
我已经设置了系统,所有邮件都通过管道发送到我的脚本。在 master.cf 中我有:
phptran unix - n n - - pipe flags=DFORq user=nobody argv=/usr/bin/php5 /root/phptran.php ${sender} ${recipient}
我可以获取邮件和标题,但无法获取所有 RCPT TO 命令,特别是 NOTIFY 部分,例如在命令中
RCPT TO:[email protected] NOTIFY=SUCCESS,FAILURE
我如何从脚本中获取此信息?有没有办法将其放入标题中?
任何指导都将不胜感激。
答案1
我找到了解决方案,但我真的不喜欢它(太复杂了)。因此,如果有人有其他想法,我将不胜感激。
从邮件头中我可以获得邮件的 ESMTP ID。通过邮件 ID 我可以获得活动队列中的邮件内容(使用 postcat -q )。
在 postcat 结果中有 named_attribute:notify_flags,它是按位或来自以下值:从不:1 成功:2 失败:4 延迟:8