Формат подачи по HTTP

inline format
Письмо по частям вместо готового

С версии 5.5 письмо, поданное по HTTP, можно не собирать: в объекте content вместо готового email_rfc822 передают from, subject, reply_to, headers, text, html, amp_html и attachments, а узел собирает письмо сам.

Кодирование — забота узла: символы вне ASCII он кодирует по мере надобности — в заголовках по RFC 2047, в теле quoted-printable. Текст в запросе — простой UTF-8, кодировать его нельзя: подстановки выполняются до кодирования и переноса строк.

Повторы молча игнорируются: из частей с одинаковым именем в письмо попадает только первая.

Главная ловушка — закодировать текст заранее. Руководство прямо запрещает это: кодирует узел, и заранее закодированный текст попадёт в письмо не тем, что задумано.
Что делает Хаб. Не используется: подача идёт по SMTP, и письма Хаб собирает сам.
Рекомендуемые значения

Поля объекта content:

Поле Что несёт
from, reply_to, subject отправителя, адрес ответа, тему
headers свои заголовки
text, html, amp_html части тела
attachments вложения
Поля объекта content, кодирование на стороне узла, запрет своего кодирования и судьба повторов — из руководства (§ 8.1.5). Разбор ловушки — наш.
Пример в конфигурации
# содержимое частями вместо готового письма
"content": {"from": "news@example.com", "subject": "[name], hello", "text": "Hi [name]", "html": "<p>Hi [name]</p>"}
Подстановки [name] раскрываются до кодирования, поэтому текст в запросе остаётся обычным UTF-8.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
⇄

Связанные записи

1 связь

Как проверить на узле
Проверить, есть ли на узле приём по HTTP:
grep -n -A4 '<transmissions-api' /etc/pmta/config
Без блоков <transmissions-api> и <transmissions-api-listener> формат недоступен вовсе.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Подключить платформу отправки