如何让postfix重写地址以包含多个收件人?

我试图设置Postfix来重写发送到example@myhost的电子邮件的目的地,而不是似乎已经发送到[email protected][email protected] 。 我正在使用LDAP查找将其绑定到FreeIPA,使用绑定到用户帐户的电子邮件地址。

从我的main.cf文件中的相关行(我认为)(编辑用“ example.com ”replace真实的域和192.0.2.0/24 IP):

 alias_maps = hash:/etc/aliases, proxy:ldap:/etc/postfix/ldap-aliases.cf masquerade_domains = myhost.example.com, example.com mydestination = $myhostname, myhost.example.com, example.com, localhost.$mydomain, localhost myhostname = myhost.example.com mynetworks = 192.0.2.0/24, 127.0.0.0/8 relayhost = [otherhost.example.com] smtp_generic_maps = ldap:/etc/postfix/ldap-generic.cf virtual_alias_maps = ldap:/etc/postfix/ldap-generic.cf 

ldap-aliases.cf

 server_host = ldaps://ipa1.example.com search_base = cn=users,cn=accounts,dc=example,dc=com query_filter = (&(uid=%u)(mail=*)) result_attribute = mail bind = yes bind_dn = uid=postfix,cn=sysaccounts,cn=etc,dc=example,dc=com bind_pw = example_password version = 3 

ldap-generic.cfldap-aliases.cf相同,但增加了一行:

 domain = myhost.example.com, example.com 

到目前为止,发送到[email protected]地址的电子邮件看起来似乎是[email protected][email protected] ,但只有To:标题,其中包含[email protected] 。 我希望它显示所有的地址,而不只是第一个。

单独使用alias_maps只会修改信封收件人而不篡改标题。 看看是否重写邮件标题,或者在Postfix地址重写README 标记为无效 。

Postfix 2.1及更早版本总是重写消息头地址,并将Postfix自己的域信息附加到Postfix认为不完整的地址。 重写邮件标题地址对于本地邮件而言是正确的,但对于远程邮件而言,这是不可取的。

Postfix 2.2版本可以select不重写来自远程SMTP客户端的邮件标题,或者将这些邮件标题中的不完整地址标记为无效。