我想重写所有发件人地址@ example.com到[email protected] (到一个静态的传出地址),但是我也想把原始地址添加为reply-to
。 我可以分别使用通用文件和header_checks文件分别进行操作,但是由于通用文件似乎首先被使用,所以我失去了原始的发送者。 我错过了什么从后缀重写文档 ?
如果信封发件人有[email protected] ,只要From:
标题是[email protected]即可 。 有任何想法吗?
如果在Qmail中有一个简单的解决scheme,那么这也是一个select!
经过许多小时的search和几个post(在这里和其他地方)说,没有一个milter或不适合我的指示(如上图)是不可能的,成功!
至less在我的设置testing中,你不能使用smtp_generic_maps,因为这似乎在其他检查/重写之前执行。 但是,如果你使用sender_canonical_maps,那么在像header_checks之类的检查之后,似乎会得到执行。 所以,你可以简单地在main.cf
有以下内容:
sender_canonical_maps = hash:/etc/postfix/sender_canonical_maps header_checks = regexp:/etc/postfix/header_checks
文件的内容
/等/后缀/ sender_canonical_maps:
@example.com [email protected]
/等/后缀/ header_checks:
/^From:(.*)$/ PREPEND Reply-To:$1
运行postmap /etc/postfix/sender_canonical_maps
重新启动postfix service postfix restart
你不在笑:-)。 这将添加预期的Reply-to:[email protected]标题,并将信封和标题从[email protected]更改。
显然这里有两个目标:
Reply-To
标题。 对于第一个目标,使用smtpd_sender_restriction + 访问映射应该做的伎俩。 在main.cf
指定这个参数
smtpd_sender_restriction = check_sender_access pcre:/etc/postfix/append_replyto.pcre
/etc/postfix/append_replyto.pcre
的内容
/(.*)/ PREPEND Reply-To:$1
地图文件将匹配所有发件人,并将其附加到回复标题中。
第二个目标是通过smtp_generic_maps实现的 。 哎呀…看起来像我缺less一点的通用行为。 它将重写所有头(在From / Reply-To / other中)和信封 。
通用映射(5)影响消息头地址(即出现在消息中的地址)和消息包络地址(例如,在SMTP协议命令中使用的地址)。
对于工作解决scheme,请参阅OP的解决scheme:)