我想做的是:
为发送邮件设置SMTP中继,其中:
(a)所有From:标头被重写为"no-reply@example.com"
(b)添加带有原始From:地址的Reply-To:报头
我使用sender_cannoical_maps和header_checks,其内容如下:
sender_canonical_maps:
/.*/ no-reply@example.com
header_checks:
/^From:(.*)$/ PREPEND Reply-To:$1
但是当收到消息时,Reply-To:字段中包含了no-reply地址,这是我不想要的:
to: end-user@example.com
from: no-reply@example.com
reply-to: no-reply@example.com, sender@domain.com
如果我将header_checks更改为使用REPLACE而不是PREPEND,我将失去被覆盖的原始发送者:
to: end-user@example.com
from: no-reply@example.com
reply-to: no-reply@example.com
所以我输了sender@domain.com
我在这里做错了什么?如有任何信息不足,请提前道歉。
如果header_sender
在sender_canonical_classes
(默认)中,则在处理sender_cannonical_maps
时,后缀将重写From和Reply-To头。所以header_check
添加了Reply-To,然后sender_cannonical_maps
重写了Reply-To。要保持您的回复添加在header_checks
中,您需要
sender_canonical_classes = envelope_sender
sender_cannoical_maps = static:no-reply@example.com
然而,这使标题保持不变,但你可以通过添加
在smtp_header_checks
中重写它smtp_header_checks = regex:/etc/postfix/smtp_header_checks
/etc/postfix/smtp_header_checks
contents
/^From:(.*)$/ REPLACE From: no-reply@example.com