我有一个与MySQL和dovecot后缀虚拟设置。 一切工作正常,目前唯一的问题是,邮件根不是本地发送,因为它应该是。 相反,postfix将发送到“root”的邮件扩展为“[email protected]”。 由于没有虚拟邮箱为[email protected],他们无法交付:
Nov 17 03:20:26 xxx postfix/qmgr[16914]: E49903AB4045: from=<[email protected]>, size=783, nrcpt=1 (queue active) Nov 17 03:20:26 xxx postfix/pipe[17901]: E49903AB4045: to=<[email protected]>, orig_to=<root>, relay=dovecot, delay=626, delays=625/0.01/0/0.17, dsn=4.1.1, status=SOFTBOUNCE (user unknown)
为了解决这个问题,我尝试了一下
http://www.postfix.org/STANDARD_CONFIGURATION_README.html#some_local
并添加一个根别名到我的SQL虚拟别名地图:
| address | goto | domain | created | modified | active | +---------------+------------------+---------------+---------------------+---------------------+--------+ | root | root@localhost | localhost | 2013-11-18 11:20:00 | 2013-11-18 11:20:00 | 1 |
至less它现在已经改变了一些,但是它仍然不起作用,因为现在域名已经扩展到了[email protected]:
Nov 18 11:36:39 xxx postfix/qmgr[16914]: 0741763B6001: from=<[email protected]>, size=316, nrcpt=1 (queue active) Nov 18 11:36:39 xxx postfix/smtp[30046]: 0741763B6001: to=<[email protected]>, orig_to=<root>, relay=none, delay=11, delays=11/0/0.52/0, dsn=4.4.6, status=SOFTBOUNCE (mail for localhost.example.com loops back to myself)
从我的main.cf:
mydestination = localhost.localdomain, localhost mydomain = example.com myhostname = mail.example.com myorigin = $mydomain smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,permit_sasl_authenticated,reject_unauth_destination,reject_rbl_client zen.spamhaus.org,pcre:/etc/postfix/dspam_filter_access virtual_alias_maps = mysql:/etc/postfix/sql_virtual_alias_maps.cf virtual_mailbox_domains = mysql:/etc/postfix/sql_virtual_domain_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/sql_virtual_mailbox_maps.cf
据我所知,Postfix应检查sql_virtual_alias_maps,将邮件转发到root root@localhost ,并尝试在本地提供。
我在做什么错了,我怎么让后缀在本地提供这些根邮件?
好的,我修好了。 问题是参数
append_dot_mydomain
默认设置为yes 。 设置后
append_dot_mydomain = no
,在main.cf ,它正在工作。
它看起来像试图自我转发,你有没有任何机会定义你的数据库中的“goto”字段是转发地址? 如果是这样,尝试删除该转发,看看是否有帮助