smtp-greeting-timeout

<domain>

Сколько ждать приветствия 220 после установления соединения
в конфигурации это строкаsmtp-greeting-timeout 5mвнутри блока <domain>
Соединение установлено, приёмник молчит

Соединение установилось — значит, connect-timeout уже отработал. Теперь приёмник должен представиться строкой 220. Это ожидание и отмеряет здешний таймаут.

Молчание после соединения — осмысленный сигнал. Приёмники намеренно тянут с приветствием: одни проверяют, не начнёт ли отправитель говорить раньше времени (так ловят спам-ботов), другие этим замедляют тех, кому не доверяют. Долгое приветствие — часто не поломка, а отношение к вам.

Вендорское умолчание — 5m. Пять минут молчания в почтовом разговоре не означают ничего, кроме потраченного слота соединения.

Главная ловушка — умолчание маскирует притормаживание. Приёмник, который тянет приветствие полминуты, сообщает вам о своём отношении; с таймаутом в пять минут вы этого не замечаете и продолжаете слать в прежнем темпе. Задержка приветствия — ранний признак ухудшения репутации, и терять его жаль.
Что делает Хаб. Не пишет — остаётся вендорское 5m.

Время до приветствия Хаб снимает только в проверке прокси — поле banner_ms, вместе с установлением соединения, — и по нему оценивает сами прокси. На доставке с узлов задержку приветствия он не измеряет, хотя это самый ранний сигнал: она появляется раньше временных отказов и раньше падения доставляемости.

Рекомендуемые значения

Минуты хватает с запасом. Приёмник, здоровающийся дольше минуты, либо перегружен, либо намеренно вас тормозит; ждать его ещё четыре минуты бессмысленно.

Не опускайте ниже десяти секунд. Приёмники с проверкой на преждевременный разговор специально держат паузу в несколько секунд — слишком короткий таймаут отсечёт вас именно там, где вы поступаете правильно.

Считайте вместе с потоком. Ожидание приветствия занимает слот max-smtp-out так же, как и любое другое.

Минута как ориентир, нижняя граница в десять секунд и трактовка задержки как сигнала — наши. Из руководства здесь умолчание 5m и то, что таймаут отмеряет ожидание строки 220 после принятия соединения.
Пример в конфигурации
# приёмник, который здоровается дольше минуты, нам ничего хорошего не скажет
<domain gmail.com>
    connect-timeout 30s
    smtp-greeting-timeout 1m</domain>
Оба таймаута идут подряд по времени: сначала отрабатывает первый, и только потом начинается отсчёт второго.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается2 ошибки▶

Оставляют умолчание и не замечают притормаживания

наш опыт

Чем чреватоПриёмник тянет приветствие, сообщая, что вы ему не нравитесь. При таймауте в пять минут это выглядит как медленная сеть, и темп никто не сбавляет — а дальше идут временные отказы.
Как заметитьВремя попытки выросло, отказов ещё нет.
Как правильноСократить до минуты и относиться к срабатыванию таймаута как к сигналу, а не к сетевой ошибке.

Ставят несколько секунд

наш опыт

Чем чреватоПриёмники, проверяющие отправителя намеренной паузой перед приветствием, отсекаются целиком — при том что проверку вы как раз проходите.
Как заметитьЧасть доменов перестала принимать почту сразу после правки.
Как правильноДержать не меньше десяти секунд.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
smtp-greeting-timeout <time-interval>
Значения
интервал времени: число и буква — d сутки, h часы, m минуты, s секунды
Умолчание
5m § 3.3.10.75
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Подхватывается по pmta reload; на открытые соединения не влияет.
Как проверить на узле
Действующее значение печатает команда настроек очереди; само приветствие видно в журнале, если включена запись разговора:
pmta show settings gmail.com/vmta1 | grep -i greeting-timeout
grep -F '220 ' /var/log/pmta/pmta.log | tail -10
Задержку приветствия по журналу считать неудобно: время соединения и время приветствия стоят в разных строках. С доставки Хаб этой величины не собирает.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разобраться с доставляемостью · Настроить темп под провайдера