后缀放弃或更改基于另一个标题行的消息ID标头

我想要更改Message-ID头或更好,丢弃它。 我知道每个人都会问“你为什么要这么做?” 因为我知道这听起来很奇怪,甚至写它。

那么我正在开发一个系统,以EML格式保存传入的电子邮件,更改并发送给用户,有时用户可以请求将原始EML发送给他/她。 问题是,当我重新发送EML时,它具有相同的Message-ID头,导致交换服务器丢弃重发。

当然,我希望通过postfix有一些select,否则我将需要parsing和更改EML,但我宁愿不这样做。

我试图做到这一点与“header_checks”,它的工作原理,但我需要能够做到这一点有条件地,这意味着只有在特定的场合,我可以通过查看其他标题,我想删除消息ID。

我需要能够有条件地做到这一点,这意味着只有在特定的场合,我可以通过查看其他标题来识别,我想删除消息ID。

不,你不能用header_checks来做。 Postfix一次检查一个标题行上的规则。 换句话说,您不能根据另一个标题行修改一个标题行。 在BUG部分查看man 5 header_checks ,在postfix邮件列表中看到这个线程 。

许多人忽略了header和body_checks规则的主要限制。

  • 这些规则一次对一个逻辑消息头或一个正文行进行操作。 一行的决定不会转移到下一行。