我正在尝试设置 Postfix,以将发送至 的电子邮件的目的地重写为 ,example@myhost
而不是似乎已发送到[email protected]
和[email protected]
。我正在使用 LDAP 查找将其与 FreeIPA 绑定,使用与用户帐户绑定的电子邮件地址。
我的文件中的相关行(我认为)main.cf
(已编辑,将真实域名替换为“ example.com
”,将 IP替换为192.0.2.0/24
)如下:
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.cf
与 相同ldap-aliases.cf
,但添加了以下行:
domain = myhost.example.com, example.com
到目前为止,发送到该地址的电子邮件似乎[email protected]
发送到[email protected]
和[email protected]
,但只有一个To:
标头说明[email protected]
。我希望它显示所有地址,而不仅仅是第一个。
答案1
仅alias_maps
修改信封收件人而不篡改标题。看看是否重写邮件头,或将其标记为无效关于 Postfix 地址重写 README。
Postfix 2.1 及更早版本始终会重写邮件头地址,并将 Postfix 自己的域信息附加到 Postfix 认为不完整的地址。虽然重写邮件头地址对于本地邮件来说是可以的,但对于远程邮件则不合适。
Postfix 2.2 版本让您可以选择完全不重写来自远程 SMTP 客户端的邮件头,或者将此类邮件头中的不完整地址标记为无效。