Принимает письмо запросом вместо почтовой сессии: получатели, данные для подстановок и содержимое приходят одним JSON.
Вызов — POST https://адрес:порт/api/v1/transmissions на слушатель <transmissions-api-listener> — только по HTTPS, поэтому слушателю нужен сертификат. Заголовок Content-Type: application/json, ключ — в заголовке Authorization; тело можно сжать, объявив Content-Encoding: gzip.
Ключи — свои, не ключ монитора: их перечисляют строками api-key в <transmissions-api>, от 32 до 128 знаков. Свойства источника для писем, поданных так, задаёт именованный источник {transmissions-api}.
Ответ 200 несёт счёт: сколько получателей принято и сколько отклонено. Ошибки приходят кодами 400, 403, 404, 405 и 500.
Что значит ответ:
| Код | Когда |
|---|---|
| 200 | запрос принят; сколько получателей принято и отклонено — в теле |
| 400 | ошибка формата: нет обязательного поля, не тот тип, неподдерживаемое поле SparkPost |
| 403 | нет заголовка Authorization или ключ неверен |
| 404 | неверный путь |
| 405 | метод не POST |
| 500 | внутренняя ошибка при разборе верного запроса |
# подать письмо запросом: ключ из <transmissions-api> curl -s -X POST --insecure -H 'Content-Type: application/json' -H 'Authorization: KEY' --data @msg.json 'https://127.0.0.1:8585/api/v1/transmissions'
2 связи
Персонализация внутри MTAМеханизм, который здесь и виден. § 8.1.4
grep -n -A4 '<transmissions-api' /etc/pmta/config
curl -s -o /dev/null -w "%{http_code}\n" --insecure -X POST 'https://127.0.0.1:8585/api/v1/transmissions'
3 статьи
◇Персонализация внутри MTAПеременные задаются по каждому получателю, а подставляет их узел при доставке — одно поданное письмо уходит многим с разным содержимым.◇Слияние через расширения SMTPСлияние по SMTP: XMRG вместо MAIL FROM, XDFN с переменными перед каждым получателем и XPRT вместо DATA для каждой части.◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.