我的服务器 A 只有一个 IP 地址和一个虚拟 FQDN(基于所有机器都应该有一个 FQDN):pants.net.invalid。所有邮件都通过其他地方的另一台服务器进行中继,运行正常。
在服务器 A 上,Postfix 使用 重写发件人地址smtp_generic_maps = hash:/etc/postfix/generic
。根据 Rewrite 手册,http://www.postfix.org/ADDRESS_REWRITING_README.html#remote,这将重写所有传出的外部邮件的发件人地址:
$ cat /etc/postfix/generic
@pants.net.invalid [email protected]
但事实并非如此。 什么也没有返回。postmap -q [email protected]
这有效:
[email protected] [email protected]
尽管我指定了 type ,但它似乎正在进行正则表达式匹配hash:
。显然我误解了手册。
我不想使用正则表达式或 pcre 表达式,因为只有几个用户(root 和另外两个),而且我不想要开销。
我可以准确指定用户,而且它有效。但是,我想知道我误解了什么,以供将来参考。
谢谢。
答案1
它起作用了。根据手册http://www.postfix.org/generic.5.html
但是你的 postmap 命令有错误。它应该是:
postmap -q [email protected] hash:/etc/postfix/generic