Postfix重写发件人:为什么这不工作

我有服务器A只有一个IP地址和一个虚拟的FQDN(在所有的机器应该有一个FQDN的基础上):pants.net.invalid。 所有邮件都通过其他服务器转发,这工作正常。

在服务器A上,Postfix用smtp_generic_maps = hash:/etc/postfix/generic重写发件人地址。 根据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] 

看起来好像它正在做正则expression式匹配,即使我指定types的hash: 。 显然我误解了手册。

我不想使用正则expression式或pcreexpression式,因为只有几个用户(root和另外两个),我不想要这些开销。

我可以确切地指定用户,它的工作原理。 但是,我想知道我对未来的误解。

谢谢。

有用。 根据手册http://www.postfix.org/generic.5.html

但是你的postmap命令有问题。 它应该是:

 postmap -q [email protected] hash:/etc/postfix/generic