我在 /etc/postfix/main.cf 中有一个带有以下内容的后缀:
virtual_alias_domains = hash:/etc/postfix/mydomains
virtual_alias_maps = hash:/etc/postfix/virtual
它们指定为邮件转发设置的域以及邮件转发映射。
我想建立一个简单的邮件列表,这可以通过添加到映射文件来轻松实现。但是,我想在邮件中添加一个“回复”标头,以便将回复发送回列表而不是原始发件人。我相当确定使用正则表达式可以做到这一点,但我不太确定将其放在哪里。
其次,我想知道是否可以让 Postfix 拒绝不是来自邮件列表成员的邮件?如果有这个功能就好了,但不是必需的。
该列表将有大约十个成员,并且很少改变,因此将成员地址硬编码为正则表达式不会是一个大问题。
任何帮助,将不胜感激。
答案1
Reply-To
可以使用以下选项添加标头smtp_header_checks
:
smtp_header_checks = pcre:/etc/postfix/header_checks.pcre
其中 header_checks.pcre 包含类似的内容
/^To: [email protected]/ PREPEND Reply-To: <[email protected]>
第一部分(斜线之间)是匹配标头的正则表达式。 PREPEND
说应该在邮件中添加一行。剩下的就是添加行的内容。如果您想尝试一下该设置,请查看man 5 header_checks,它更详细地解释了这种处理。
拒绝消息的工作方式与上面类似,只需向 header_checks.pcre 添加一些规则即可。它应该包含这样的内容:
if /^To: .*<[email protected]>/
/^From: .*[email protected]/ OK
/^From: .*[email protected]/ OK
/.*/ REJECT
endif
等等。
上面的配置应该使 postfix 接受邮件到您的邮件列表仅有的如果它看起来是由您的一位朋友发出的。尚未经过测试,因此请谨慎操作。