Рейтинг:0

sendmail 8.14.7 никогда не пробовал вторичный mx

флаг in

Я обнаружил, что моя конфигурация sendmail не всегда пытается дополнительный хост MX, если основной MX не отвечает. Иногда это так, чаще это не так.

Я думаю, мои вопросы таковы: 1) как sendmail решает, когда отказаться от данного MX и попробовать следующий? И 2) как отлаживать то, что (не) происходит?

Чтобы работать над этим, я установил имя mytest.freefriends.org (мой собственный домен). с немаршрутизируемым первичным MX 10.x и хорошим вторичным:

mytest IN MX 1 nonesuch.freefriends.org.
мой тест IN MX 10 goodmx.freefriends.org.
нет такого IN A 10.10.10.10

В реальных случаях первичный MX — это обычный хост, доступный, но намеренно не отвечает на порт 25. Очевидно, некоторые системные администраторы это для того, чтобы остановить некоторых спамеров, которые никогда не пробуют второй MX. (я стесняюсь опубликовать имена доменов, делающих это, но может предоставить конфиденциально.) Я получаю те же результаты с моей тестовой установкой, что и с реальной случаи -- иногда мой sendmail отказывается от плохого основного и корректно переходит на вторичку, но чаще нет.

Я использую бинарный файл sendmail 8.14.7, который распространяется с CentOS 7, на x86_64. Я настраивал sendmail.cf различными способами, но ничего особенного. кажется отдаленно важным, за исключением, возможно, значений времени ожидания, которые я добавить ниже.

Я отправляю свою тестовую почту, например, [email protected]. Запись /var/log/maillog просто показывает, что ни одна из таких попыток не повторялась, пока не истекут 5 дней, и она не отскакивает:

15 марта 18:26:45 tug sendmail[26132]: 22FHPiET026128: to=<[email protected]>, delay=00:01:00, xdelay=00:01:00, mailer=esmtp, pri=293911 , relay=nonesuch.freefriends.org. [10.10.10.10], dsn=4.0.0, stat=Deferred: истекло время ожидания соединения с nonesuch.freefriends.org.

Я пытаюсь понять, что на самом деле происходит с:

гм/тмп/ф; sendmail -D/tmp/f -d0-99.99 [email protected]

но объемный вывод отладки /tmp/f просто показывает плохой не такой MX пробуют снова и снова, хотя goodmx найден. Вот небольшой отрывок, показывающий последнюю попытку запуска данной очереди:

hostsignature(mytest.freefriends.org.) = nonesuch.freefriends.org.:goodmx.freefriends.org.
...
dropenvelope 0x55db2c276ba0: id=<null>, flags=4405046<INQUEUE,NO_BODY_RETN,DELE\
TE_BCC,GLOBALERRS,METOO,IS_MIME,SPLIT>
sendq=0x55db2e364ab0=<[email protected]>:
        почтовая программа 4 (esmtp), хост mytest.freefriends.org.
        пользователь [email protected], пользователь `<null>'
        состояние=QUEUEUP, следующее=0x0, псевдоним 0x0, uid 0, gid 0
        flags=80000182<QPRIMARY,QPINGONFAILURE,QPINGONDELAY,QRCPTOK>
        владелец = (нет), home = "(нет)", полное имя = "(нет)"
        orcpt="(нет)", statmta=nonesuch.freefriends.org., статус=4.4.1
        finalrcpt="RFC822; [email protected]"
        рстатус = "(нет)"
        statdate = вторник, 15 марта, 18:28:59 2022 г.


====finis: stat 75 e_id=NOQUEUE e_flags=4405046<INQUEUE,NO_BODY_RETN,DELETE_BCC,GLOBALERRS,METOO,IS_MIME,SPLIT>

Я не смог поймать журнал с успешное сообщение, когда оно возвращается к вторичному. Любой способ подключиться к этому?

Я полагаю, что мог бы обойти это с помощью записей mailertable (или, может быть, bestmx), но я не знаю всех хостов, которым это нужно. Кроме того, переключение на вторичный mx кажется довольно фундаментальной операцией (в настоящее время), чтобы не работать.

Я искал в Интернете, в книге летучих мышей, в источниках sendmail (например, domain.c) и т. д., но дескриптор еще не найден. Если кто-то хочет Напишите мне об этом по электронной почте вместо/а также ответа здесь, мой адрес karl (at) freefriends (dot) org.

Извините за длинное сообщение. Заранее спасибо за любые подсказки.

# тайм-ауты (много таких)
#O Тайм-аут.initial=5м
O Timeout.connect=30s
O Timeout.aconnect=30s
O Timeout.iconnect=30s
O Timeout.helo=4м
O Тайм-аут.mail=5м
O Тайм-аут.rcpt=10м
O Timeout.datainit=2 м
O Timeout.datablock=6м
O Timeout.datafinal=30 м
O Timeout.rset=1m
O Timeout.quit=1м
O Timeout.misc=1м
O Timeout.command=5м
O Timeout.ident=0s
#O Время ожидания.fileopen=60 сек.
#O Тайм-аут.control=2м
O Timeout.queuereturn=5d
#O Тайм-аут.queuereturn.normal=5d
#O Timeout.queuereturn.urgent=2d
#O Timeout.queuereturn.non-urgent=7d
#O Время ожидания.queuereturn.dsn=5d
O Timeout.queuewarn=2d
#O Timeout.queuewarn.normal=4h
#O Timeout.queuewarn.urgent=1h
#O Timeout.queuewarn.non-urgent=12h
#O Тайм-аут.queuewarn.dsn=4h
#O Время ожидания.hoststatus=30 мин.
#O Время ожидания.resolver.retrans=5с
#O Время ожидания.resolver.retrans.first=5с
#O Время ожидания.resolver.retrans.normal=5s
#O Тайм-аут.resolver.retry=4
#O Тайм-аут.resolver.retry.first=4
#O Тайм-аут.resolver.retry.normal=4
O Тайм-аут.lhlo=1м
#O Тайм-аут.auth=10 минут
O Тайм-аут.starttls=2м

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.