我正在尝试将电子邮件发送到例如:[email protected] 和 [email protected]。在这两种情况下,这些都是 Outlook 邮箱。
后缀回复:
(启用 ipv6 时):
06F908112E 606 Thu Jun 19 10:20:40 [email protected]
(Host or domain name not found. Name service error for name=grassvalley-com.mail.protection.outlook.com type=AAAA: Host not found, try again)
[email protected]
(仅限 ipv4):
6946720087D 3117 Tue Jun 17 21:41:07 [email protected]
(delivery temporarily suspended: Host or domain name not found. Name service error for name=grassvalley-com.mail.protection.outlook.com type=A: Host not found, try again)
[email protected]
检查 DNS 时,我确实收到了回复(我尝试过 Google DNS、IPv6 only DNS、Leaseweb DNS、OpenDNS,总是一样):
grassvalley-com.mail.protection.outlook.com. 7 IN A 207.46.163.138
grassvalley-com.mail.protection.outlook.com. 7 IN A 207.46.163.170
grassvalley-com.mail.protection.outlook.com. 7 IN A 207.46.163.247
所以有一个正确的A回复。
现在,导致问题的原因似乎是 7 秒的低得离谱的 TTL,并且对这些 Outlook 域的每个 DNS 回复都需要超过 2 秒:Query time: 2039 msec.
这会导致 Postfix 超时并且不发送电子邮件。
如果我运行此命令dig grassvalley-com.mail.protection.outlook.com && postfix flush
,电子邮件实际上会被发送,因为它发生在 7 秒的时间范围内(DNS 仍在缓存中)。
我可以告诉 Postfix 不那么快超时吗?我可以告诉绑定忽略来自 Outlook 的 TTL < 7 秒并将其缓存 2 小时吗?
我
options timeout:1 attempts:1
在我的resolv.conf
. 将超时更改为 3 秒而不是 1 秒解决了问题:并确保不要在您的
main.cf
配置中有这一行: