Очередь вида http-delivery отдаёт письмо не приёмнику и не программе, а адресу в сети: запросом POST с типом application/json, по одному письму на запрос. Тело — объект JSON с сырым письмом и адресами конверта.
Успех — только ответ 2xx. Всё остальное считается временной неудачей: письмо остаётся в очереди и повторяется, а когда уйдёт в отказ, решает bounce-after. Это принципиальное отличие от вида pipe: там недоступность обработчика ничем не отличается от его поломки, здесь она честно превращается в очередь.
Что приходит в теле. Поле email_rfc822 — само письмо; msg_from и rcpt_to — адреса конверта; headers — массив заголовков парами «имя — значение». Если в письме встретился символ вне 7-битного ASCII, всё письмо кодируется base64, и рядом появляется email_rfc822_is_base64 со значением true.
# жалобы уходят обработчику, авторизация — из файла заголовков <domain feedback.example.com> type http-delivery http-delivery-url https://hub.example.com/api/v1/feedback http-delivery-extra-headers /etc/pmta/http-delivery-headers.txt </domain>
что делают не так и чем это кончается3 ошибки▶
§ 8.5
§ 8.5
§ 8.5
4 связи
http-delivery-url<domain>Адрес обработчика: без него очередь этого вида не работает. § 8.5.1
Отдать письмо программе на этом же узлеТо же самое по сети: обработчик живёт где угодно, а недоступность превращается во временный отказ и повтор. inferenceФайл, программа или эндпоинт — и файл под каждым из трёхТот же договор повтора до ответа 2xx, только там им отдают письма, а здесь записи учёта. inferenceЖалобаОтчёт можно не только записать, но и передать своей службе по HTTP. inferenceЧто делать с принятым письмомСмежный механизм: они работают вместе. inference
pmta show settings feedback.example.com/vmta1 | grep -E '^type|^http-delivery' pmta show queues | grep -i feedback.example.com
3 статьи
◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Списки адресов — именованные и безымянныеСписок адресов, доменов, образцов или хешей; именованный подключается директивами вроде подавления, безымянный живёт внутри процессора входящей почты.