我有一个postfix安装处理邮件的几个域,所有的邮件去一个真正的本地用户( cmb ),我想添加一个新的域名(让我们称之为example.org )为第二个用户,但一切正在交付给cmb 。 这里是/etc/postfix/virtual :
[email protected] cmb @chris.boyle.name cmb @cmb.is-a-geek.org cmb @example.org newperson
这里是大多数/etc/postfix/main.cf ,请求完整的文件。 我没有设置luser_relay 。
myhostname = nova.chris.boyle.name alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = chris.boyle.name mydestination = chris.boyle.name, nova.chris.boyle.name, nova, localhost.localdomain, localhost mynetworks_style = host mailbox_command = procmail -a "$EXTENSION" virtual_alias_domains = cmb.is-a-geek.org example.org virtual_alias_maps = hash:/etc/postfix/virtual smtpd_sender_login_maps = hash:/etc/postfix/virtual
这里是/etc/aliases :
# See man 5 aliases for format postmaster: cmb root: cmb
请注意, aliases.db和virtual.db都比它们的纯文本更新,并且postfix已经重新启动不起作用。 testing邮件[email protected]在[email protected]执行此mail.log (我已经编辑了这个日志摘录来创build域example.org )。
Aug 30 12:48:59 nova postfix/smtpd[32520]: 795B53D558: client=goggins.uwcs.co.uk[89.16.166.19] Aug 30 12:48:59 nova postfix/cleanup[32530]: 795B53D558: message-id=<[email protected]> Aug 30 12:48:59 nova dkim-filter[2074]: 795B53D558 external host goggins.uwcs.co.uk attempted to send as uwcs.co.uk Aug 30 12:48:59 nova dkim-filter[2074]: 795B53D558 ASP query: missing parameter(s) in policy data Aug 30 12:48:59 nova spamd[2385]: spamd: connection from localhost [127.0.0.1] at port 38371 Aug 30 12:49:00 nova spamd[2385]: spamd: using default config for [email protected]: /srv/chris.boyle.name/spamassassin/user_prefs Aug 30 12:49:00 nova spamd[2385]: spamd: processing message <[email protected]> for [email protected]:1000 Aug 30 12:49:05 nova spamd[2385]: spamd: clean message (-5.2/5.0) for [email protected]:1000 in 5.3 seconds, 1002 bytes. Aug 30 12:49:05 nova spamd[2385]: spamd: result: . -5 - AWL,BAYES_00,LOCALPART_IN_SUBJECT,RCVD_IN_DNSWL_MED,SPF_PASS,UNPARSEABLE_RELAY scantime=5.3,size=1002,[email protected],uid=1000,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=38371,mid=<[email protected]>,bayes=0.000000,autolearn=ham Aug 30 12:49:05 nova postfix/qmgr[32518]: 795B53D558: from=<[email protected]>, size=966, nrcpt=1 (queue active) Aug 30 12:49:05 nova postfix/smtpd[32520]: disconnect from goggins.uwcs.co.uk[89.16.166.19] Aug 30 12:49:05 nova postfix/local[32533]: 795B53D558: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=6.1, delays=6.1/0.01/0/0.02, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") Aug 30 12:49:05 nova postfix/qmgr[32518]: 795B53D558: removed
注意它最后被传送到cmb :我真的很想知道为什么。
Robot101帮我解决了这个问题。 诀窍是virtual_alias_maps将有效recursion,直到地址不变,并且地图右侧的不合格本地部分将被myorigin限定,所以会发生这种情况:
[email protected] -> [email protected] -> [email protected]
因此,我可以通过将myorigin更改为nova.chris.boyle.name (并修复我的地址规范化(使用canonical_maps )在发件人地址中使用@chris.boyle.name )来解决此问题。 这样,映射到[email protected] ,地图不会再进行任何更改,而且仍然以本机为最终目的地。 或者,我可以用@nova.chris.boyle.name完全限定映射。