Один вопрос одному приёмнику

Попробовать доставку и записать ответ

Задача. Приёмник ведёт себя странно, и надо увидеть, что он отвечает на самом деле, — не правя конфигурацию, не заходя на узел оболочкой и не оставляя следов.

Из чего складывается:

  • rotate log — начинает свежий файл журнала, чтобы попытка не утонула;
  • trace — одна попытка доставки очереди с записью разговора; –to-log пишет её в файл журнала;
  • /getFile — забирает файл журнала через монитор.

Области у составляющих разные. Все три — команды узла и точка управляющего интерфейса, с которым Хаб уже работает; файл конфигурации не трогается, возвращать назад нечего.

Как они взаимодействуют. trace –to-log руководство называет сокращением для процедуры «включить запись в конфигурации, перечитать, запланировать попытку и всё вернуть». Поворот перед попыткой ограничивает файл, и выгрузка приносит попытку, а не сутки журнала. Порядок не произволен: поворот, попытка, выгрузка. Для наблюдения за приёмником во времени остаётся запись в блоке <domain>.

Главная ловушка — считать trace безопасной проверкой. Это настоящая попытка доставки: письмо из очереди, которое приёмник примет, уйдёт, а –retry-recipients вдобавок выпустит всех отложенных получателей очереди.
Что делает Хаб. Не применяет: из трёх шагов в Хабе есть один — операция «Провернуть журналы» в разделе «Управление». Команды trace и выгрузки журнала через монитор Хаб не выполняет.
Рекомендуемые значения

Три шага:

Шаг Команда Что даёт
поворот pmta rotate log свежий файл журнала
попытка pmta trace –to-log gmail.com/vmta1 разговор SMTP в журнале
выгрузка GET /getFile?file=… файл журнала без входа на узел
Поворот журнала, ключи trace и выгрузка файла — из руководства (§ 6.3.10, § 6.3.23, § 5.11); команды через /command — § 8.4. Сама схема — наша гипотеза.
Пример в конфигурации
# поворот, одна попытка с записью в журнал, выгрузка
pmta rotate log
pmta trace --to-log --log-resolution gmail.com/vmta1curl -s 'http://127.0.0.1:8080/getFile?file=log.txt' -o log.txt
Имя файла берут из перечня /logs; –log-resolution добавляет разрешение имён, если подозрение на DNS.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, что попытка записалась:
grep -n 'starting gmail.com' /var/log/pmta/log | tail -3
Строка starting со временем команды — попытка в этом файле; дальше идёт разговор с приёмником.