Руководство перечисляет шесть способов подать письмо: расширенный SMTP, четыре языковые обвязки (C/C++, .NET, Perl, Java) и каталог подачи, за которым узел следит на диске.
Перечисляет — и не описывает. Обвязкам отведена своя глава, каталог подачи живёт среди продвинутых возможностей. На этом уровне важна форма списка, а не подробности.
А форма такая: всё, кроме SMTP, требует чего-то на стороне подающего. Обвязка — это библиотека, которую надо установить и вызвать из кода; каталог подачи — согласие класть файлы туда, куда смотрит узел. SMTP не требует ничего: почтовый клиент есть в любой платформе.
Отсюда и выбор для площадок. Каждая рассылочная система, которую подключает Хаб, приходит через одну из этих дверей, и в подавляющем большинстве это SMTP — просто потому, что она умеет его без доработки.
Это осознанно: SMTP умеют все, а обвязка потребовала бы правки в каждой подключаемой площадке. Управляющие заголовки закрывают то, ради чего обвязку и берут, — прежде всего выбор адреса отправки. Заголовок задания X-Job в источниках подачи с логином Хаб, наоборот, выключает (process-x-job false): метку задания не ставит ни прогрев, ни площадка.
Каталог подачи мы тоже не используем. Он был бы удобен там, где письма кладёт сторонняя система без сети до узла, но у нас такой схемы нет.
Чем подавать и почему:
| Способ | Что требует от подающего | Когда брать |
|---|---|---|
| SMTP | ничего — умеет любая платформа | наш выбор, и почти всегда правильный |
| обвязка | установить библиотеку и писать код | только ради слияния с многими получателями |
| каталог подачи | класть файлы туда, куда смотрит узел | когда сети до узла нет, а диск общий |
Решения подачи одинаковы для всех дверей. Адрес отправки, задание, кодировку выбирает подающая сторона, каким бы способом она ни подавала (submission-model). Меняется форма выражения, а не набор решений.
Каталог подачи — единственный способ без сети. Это его настоящее преимущество, а не удобство.
# подача по SMTP: то же решение, что дала бы обвязка X-Virtual-MTA: mta-news-1X-Job: campaign-4417
что делают не так и чем это кончается3 ошибки▶
§ 1.3
§ 1.3
§ 7
2 связи
Принять, направить, доставитьКуда ведут все шесть дверей: путь письма внутри узла. § 1.3
pickupGlobalОдин из способов подачи наравне с SMTP и HTTP. § 1.3Требование к переводам строкСмежный механизм: они работают вместе. inferenceЗадержки на приёмеМеряет тот путь подачи, которым письма и приходят на узел. inferenceЧто подающая система собирает перед отправкойТот же способ подачи среди прочих: обвязки — одна из дверей на узел. § 7Подача письма записью файла в каталогОдин из способов подачи наравне с SMTP и HTTP — только без сети. § 11.20
grep -o ',smtp,\|,api,' /var/log/pmta/acct-*.csv | sort | uniq -c pmta show status
3 статьи
◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.◇Пять способов очереди отдать письмоОчередь не обязана ходить по SMTP: она умеет писать в файл, запускать программу, стучаться по HTTP или выбрасывать.