Я пытаюсь отправить электронные письма, например, по адресу postmaster@grassvalley.com и postmaster@jorssen.net.bmw.be. В обоих случаях это почтовые ящики Outlook.
Postfix отвечает:
(при включенном ipv6):
06F908112E 606 Thu Jun 19 10:20:40 root@dinosaur.rootspirit.com
(Host or domain name not found. Name service error for name=grassvalley-com.mail.protection.outlook.com type=AAAA: Host not found, try again)
postmaster@grassvalley.com
(только ipv4):
6946720087D 3117 Tue Jun 17 21:41:07 root@rootspirit.be
(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)
postmaster@grassvalley.com
При проверке DNS я получаю ответ (пробовал Google DNS, DNS только IPv6, 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
Итак, есть правильный ответ.
Теперь, похоже, что вызывает проблему смехотворно низкий TTL в 7 секунд и то, что каждый ответ DNS на эти домены Outlook занимает> 2 секунд: Query time: 2039 msec.
Это заставляет Postfix тайм-аут и не отправлять электронные письма.
Если я запустил эту команду dig grassvalley-com.mail.protection.outlook.com && postfix flush
электронное письмо действительно отправляется, потому что это происходит в течение 7 секунд (DNS все еще кэшируется).
Могу ли я указать Postfix, что таймаут не так быстро? Могу ли я указать привязке игнорировать TTL <7 секунд из Outlook и кэшировать его, скажем, на 2 часа?
я имел options timeout:1 attempts:1
в моем resolv.conf
. Изменение тайм-аута на 3 секунды вместо одной решило проблему:
options timeout:3 attempts:1
И будь уверен не чтобы эта строка была в вашем main.cf
config:
smtp_host_lookup = dns, native