Разбор приёма писем

Troubleshooting Email Reception/SMTP Feeding Problems
Та же трассировка, но на входящей стороне

Приём писем ломается редко и почти всегда у самописной подающей программы; самая частая ошибка — строки, оканчивающиеся одним LF вместо пары CRLF.

Разбирают записью сессии одного источника: блок <source> для адреса подающей программы с log-connections и log-commands показывает, на каком шаге срывается передача, а log-data — каждый байт с шестнадцатеричным кодом. После перечитывания воспроизводят подачу, читают журнал и убирают блок.

Главная ловушка — забыть убрать блок. Запись не истекает сама: log-data продолжит писать каждый байт каждой подачи с этого адреса, пока блок не удалят.
Что делает Хаб. Хаб журналирование не включает — в шаблонах оно выключено. Разбор приёма у нас, как и разбор доставки, делается руками на узле.
Рекомендуемые значения

Ступени записи:

Строка Что покажет
log-connections подключения и их конец
log-commands на какой команде срыв, например RCPT
log-data байты: одиночный LF, непечатные символы
Самая частая ошибка, блок записи и ступени — из руководства (§ 4.2.4, § 3.3.7.64–3.3.7.66). Таблица — наша.
Пример в конфигурации
<source 127.0.0.1>
    log-connections yes
    log-commands yes
    log-data yes</source>
Пример руководства; адрес заменяют адресом подающей программы.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Воспроизвести подачу и найти её в журнале:
pmta reload
tail -100 /var/log/pmta/log
Последняя команда перед обрывом — шаг, на котором ломается подача; коды 0a без 0d перед ними — одиночные LF.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты · Подключить платформу отправки