Postfix 根据域重写收件人

Postfix 根据域重写收件人

我正在寻找一个 postfix 配置,以便根据收件人域名创建收件人重写规则,包括捕获“不重写”列表中未找到的所有域。例如:

理想的情况是列出不应通过 Postfix 重写的域名。目前,我使用没有例外的设置,因此所有内容都会被重写:

recipient_canonical_maps = static:@spam.example.com

答案1

在 main.cf 中添加(删除现有的静态映射):

recipient_canonical_maps = pcre:/etc/postfix/rcpt_canonical_maps

在 /etc/postfix/rcpt_canonical_maps 中(将 domain1.com 等替换为您的“好”域名):

if !/^(.*)@(domain1.com|domain2.com|domain3.com)$/
/^(.*)@.*$/ REDIRECT ${1}@spam.example.com
endif

请不要,我没有测试过这个,但我很有信心这会满足你的要求。

话虽如此,我应该强调在非生产环境中进行测试这一点很重要。

答案2

谢谢 Aaron,你的回答对我帮助很大。我可以确认以下设置适用于我当前正在运行的 postfix 设置(稳定的 Ubuntu 14.04)。

我已将以下内容添加到main.cf

# Receive all emails and rewrite the destination because of testing.
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_maps

我的recipient_canonical_maps样子如下:

!/.*@example.com/ @spam.example.com

相关内容