我最近用postfix&dovecot在digitalocean服务器上build立了一个邮件服务器。 它适用于主域:example.com
我还设置了一个子域:verify.example.com
发送和接收他们两人的作品。 直到我最近碰到子域的问题。 用户试图通过[email protected]从他的服务器发送电子邮件。 但我从来没有收到过这封邮件。
这里是/var/log/mail.log部分:
postfix/smtpd[2627]: connect from gproxy3-pub.mail.unifiedlayer.com[69.89.30.42] postfix/policy-spf[2635]: Policy action=PREPEND Received-SPF: pass (userdomain.com: Sender is authorized to use '[email protected]' in 'mfrom' identity (mechanism 'include:hostmonster.com' matched)) receiver=example.com; identity=mailfrom; envelope-from="[email protected]"; helo=gproxy3-pub.mail.unifiedlayer.com; client-ip=69.89.30.42 postfix/smtpd[2627]: warning: connect to mysql server 127.0.0.1: Access denied for user 'UNKNOWN_USER'@'localhost' (using password: YES) postfix/smtpd[2627]: warning: mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf lookup error for "[email protected]" postfix/smtpd[2627]: NOQUEUE: reject: RCPT from gproxy3-pub.mail.unifiedlayer.com[69.89.30.42]: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=SMTP helo=<gproxy3-pub.mail.unifiedlayer.com> postfix/smtpd[2627]: disconnect from gproxy3-pub.mail.unifiedlayer.com[69.89.30.42]
请注意,在日志文件中显示为[email protected],但是电子邮件发送到[email protected]。看起来像电子邮件从子域redirect到主域。 我只从该用户的服务器有这个问题。 对于其他用户目前还没有这样的问题。
我已经为verify.example.com设置了MX和CNAMElogging
对不起,没有立即捕捉,因为这是问题:
我已经为verify.example.com设置了MX和CNAMElogging
CNAME只能以单个logging的forms存在,不能与任何其他资源logging结合使用。 这在RFC 1034的 3.6.2节中有详细说明。
电子邮件特别中断的原因在RFC 5321第5.1节中find:
该域名在被查询时务必返回至less一个地址logging(例如,A或AAAA RR),该logging给出消息应该指向的SMTP服务器的IP地址。 任何其他响应,特别是包括在查询时将返回CNAMElogging的值,都不在本标准的范围之内。 parsing为CNAME的数据中的标签禁止在RFC 2181的第10.3节中有更详细的讨论。
当您将CNAME更改为Alogging时,您做错了做对了,这就是为什么它开始工作。
顺便说一句,这是为什么模糊你的域名是无益的一个主要的例子。 如果您已经提供了真实的域名,那么通过validation您的设置,我可能会发现错误。