从Postfix中的标题重写

我想configurationPostfix,以用自定义电子邮件地址replace所有转发/别名消息中的“发件人”标题,并使用原始发件人地址replace“回复”标题。 这是一个可以通过简单的configuration更改来完成的事情,还是我正在看更复杂的问题? 例如:

原始信息:

From: "John Smith" <[email protected]> To: "Jane Rice" <[email protected]> 

将被翻译成:

 From: "My Email Forwarding Service" <[email protected]> Reply-To: "John Smith" <[email protected]> To: "Jane Rice" <[email protected]> 

理想情况下,我也会重写消息体(添加一些关于消息是如何转发的),但是我知道这更困难。 我们有一些电子邮件别名,每当有人报告他们通过他们的别名收到的垃圾邮件,我们的服务器被标记。 我试图尽可能地减less这种伤害。

任何帮助是极大的赞赏!

正确的解决scheme是使用标准。 请参阅BATV 的Postfix或VERP 的Postfix 。 哪里VERP是首选。

所有这一切都应该是合理的,通过添加一些header_checks逻辑(参见Postfix的header_checks手册页 ),特别是REDIRECTREWRITE操作。

你想要添加如下的东西到你的main.cf文件中:

 header_checks = regexp:/etc/postfix/header_checks 

然后在/etc/postfix/header_checks包含正则expression式和动作。

不知道这是否有帮助,但也许这个post( http://thread.gmane.org/gmane.mail.postfix.user/125861/focus=125866 )可能对你有帮助。

我不能告诉你如何添加额外的答复头虽然…

要实现你的目标(涉及重要的消息重写),你应该做两件事情之一:

  • 有postfix将所有的邮件收到时,将所有邮件移入保留队列,在这之后,它们被消费者进程破坏,然后移入传入队列(这是MailScanner所做的)
  • 为sendmail和Postfix编写一个Milter – 这可以让你在接收到消息时执行内联的复杂处理。

header_checks只允许你改变你在正则expression式中匹配的相同部分,至less这是我在所有configuration中看到的。

例如:如果你匹配这样的正则expression式

 /^Subject: ($1).* / REPLACE Subject: 

你只能改变标题SUBJECT,你不能把标题的一部分放在标题的其他位置。