CentOS 5.x | SendMail 8.14
У меня есть сервер sendmail, который настроен на последний переход. Он выполняет поиск в DNS исходящих сообщений и пытается доставить их на почтовый хост получателя.
По некоторым причинам сервер испытывает задержки с отправкой в домен одного получателя, и журналы предполагают, что он пытается не по порядку использовать определенные записи MX получателя.
Пример:
recipientfoo.com MX preference = 10 mail.cloudfoo.com
recipientfoo.com MX preference = 20 backup.recipientfoo.com
recipientfoo.com MX preference = 30 backup2.recipientfoo.com
В этом случае я ожидал бы увидеть первую попытку доступа к mail.cloudfoo.com ... но это не то, что я вижу в журнале. В / var / log / maillog я вижу:
maillog.1: 10 апреля, 08:28 serverfoo sendmail [12345]: r5ND75SPa012345: from =, size = 1345, class 0, nrcpts = 1, msgid =, proto = ESMTP, daemon = MTA, relay = mail.senderfoo.com [192.168.1.10]
maillog.1: 10:08:49 serverfoo sendmail [12500]: r5ND75SPa012345: to =, delay: 00: 00: 21, xdelay = 00: 00: 21 mailer = esmtp, pri = 157967, relay = backup2.recipientfoo. com. [1.1.1.1], dsn = 4.0.0, stat = Deferred: истекло время ожидания соединения с backup2.recipientfoo.com.
maillog.1: апр, 10:17:14 serverfoo sendmail [23455]: r5ND75SPa012345: to =, delay: 00: 08: 46, xdelay = 00: 00: 00 mailer = esmtp, pri = 153398, relay = backup2.recipientfoo. com. [1.1.1.1], dsn = 4.0.0, stat = Deferred: истекло время ожидания соединения с backup2.recipientfoo.com.
maillog.1: апр, 11:18:21 serverfoo sendmail [1246]: r5ND75SPa012345: to =, delay: 01: 09: 53, xdelay = 00: 00: 00 mailer = esmtp, pri = 151198, relay = backup2.recipientfoo. com. [1.1.1.1], dsn = 4.0.0, stat = Deferred: истекло время ожидания соединения с backup2.recipientfoo.com.
maillog.1: апр. 12:17:00 serverfoo sendmail [12560]: r5ND75SPa012345: to =, delay: 02: 08: 32, xdelay = 00: 00: 00 mailer = esmtp, pri = 322498, relay = mail.cloudfoo. com. [3.3.3.3], dsn = 2.0.0, stat = sent ([InternalId = 123456789] Письмо в очереди для доставки)
(детали отредактированы, чтобы защитить невиновных)
Согласно записям DNS, он должен был сначала попробовать mail.cloudfoo.com ... но я не вижу упоминания об этом в журналах. Как я могу узнать, какие именно приоритеты MX видел SendMail при доставке сообщения?
В качестве теста я намеренно заблокировал доступ к брандмауэру для лабораторного сервера и попытался отправить сообщение в тестовую учетную запись на Yahoo.
Проверить это:
[root@foobox ~]# mailq
/var/spool/mqueue (2 requests)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
r3O3cqEm011098 51218 Tue Apr 23 20:38 MAILER-DAEMON
(Deferred: Connection refused by alt4.gmail-smtp-in.l.google.)
<footestuser@gmail.com>
r3NMd1Em011926 48807 Tue Apr 23 15:39 <footestuser@gmail.com>
(Deferred: Connection refused by mta5.am0.yahoodns.net.)
<footestuser@yahoo.com>
Total requests: 2
[root@foobox ~]# sendmail -v -d17.9 -qR@yahoo.com
Running /var/spool/mqueue/r3NMd1Em011926 (sequence 1 of 1)
hostsignature(yahoo.com.)
mxrand(mta6.am0.yahoodns.net) = 20
mxrand(mta7.am0.yahoodns.net) = 89
mxrand(mta5.am0.yahoodns.net) = 140
hostsignature(): getmxrr() returned 3, mxhosts[0]=mta6.am0.yahoodns.net.
hostsignature(yahoo.com.) = mta6.am0.yahoodns.net.,mta7.am0.yahoodns.net.,mta5.am0.yahoodns.net.
hostsignature(yahoo.com.)
hostsignature(): stab(yahoo.com.) found mta6.am0.yahoodns.net.,mta7.am0.yahoodns.net.,mta5.am0.yahoodns.net.
<footestuser@yahoo.com>... Connecting to mta7.am0.yahoodns.net. via esmtp...
<footestuser@yahoo.com>... Connecting to mta5.am0.yahoodns.net. via esmtp...
<footestuser@yahoo.com>... Connecting to mta6.am0.yahoodns.net. via esmtp...
<footestuser@yahoo.com>... Deferred: Connection refused by mta6.am0.yahoodns.net.
Он правильно определяет предпочтение MX, но я не понимаю, почему подробный вывод показывает, что он подключается к mta7 и mta5 (оба из которых имеют более высокое значение MX). Что это значит?