我在发送邮件时遇到问题,主要是使用 Outlook.com 作为邮件服务器的域。
例如:
Jul 5 15:38:20 vm-dns-mail postfix/smtp[29249]: B6A3A20113E: to=<[email protected]>, relay=none, delay=189023, delays=189019/0.05/4/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=grassvalley-com.mail.eo.outlook.com type=AAAA: Host not found, try again)
但它有一个正确的 MX 记录:
vm-dns-mail ~/bin # dig mx grassvalley.com
[...]
;; ANSWER SECTION:
grassvalley.com. 7362 IN MX 5 grassvalley-com.mail.eo.outlook.com.
我可以远程登录它:
vm-dns-mail ~/bin # telnet grassvalley-com.mail.eo.outlook.com 25
EHLO
Trying 207.46.163.30...
Connected to grassvalley-com.mail.eo.outlook.com.
Escape character is '^]'.
220 CO9EHSMHS019.bigfish.com Microsoft ESMTP MAIL Service ready at Fri, 5 Jul 2013 19:45:12 +0000
250-CO9EHSMHS019.bigfish.com Hello [85.12.6.130]
250-SIZE 157286400
250-PIPELINING
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
250 CHUNKING
我认为这是 IPV6 问题,因为此 VM 无法连接到 IPV6。所以我在 main.cf 中添加了这一行:
inet_protocols = ipv4
但它只是将问题改为:
Jul 5 21:41:38 vm-dns-mail postfix/smtp[30661]: C1102201234: to=<[email protected]>, relay=none, delay=2, delays=0.01/0/2/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=cjp-be.mail.eo.outlook.com type=A: Host not found, try again)
什么可能导致这个相当烦人的问题?
这就是在 Postfix 的 chroot 中 resolv.conf 的样子。
删除
options timeout:1 attempts:1
似乎已修复它。保持这条线,但添加其他 DNS 服务器(例如 opendns)似乎也可以修复它......我会继续运行一些测试并监控它。