Подача письма записью файла в каталог

pickup directory submission
Подача без сети и без протокола

Способ подачи, в котором нет ни соединения, ни протокола: письмо записывается файлом в назначенный каталог, откуда MTA его забирает.

Конверт передаётся особыми заголовками в начале файла. Первым идёт x-sender — отправитель, одной строкой. За ним x-receiver, по строке на каждого получателя. Необязательно — x-envid и x-job. Требование строгое: только адреса, без имён и без угловых скобок.

Есть и x-sender-override: если он присутствует, его содержимое отменяет отправителя из x-sender. Придумано это для программ, которые не дают задать отправителя, но позволяют дописать произвольный заголовок.

Обработки письма не происходит. Руководство говорит прямо: кроме чтения и удаления этих заголовков, MTA с письмом не делает ничего — форматирование целиком на вас.

Получатель, названный только в x-receiver, но не в заголовках письма, получает слепую копию — так в этом способе делается скрытая рассылка.

Руководство советует не больше 5000 получателей на файл.

И оговорка о производительности: создавать файл прямо в каталоге можно, но это менее эффективно — MTA повторно пробует взять его в исключительное пользование, пока запись не закончилась. Правильнее собрать файл в стороне и переместить.

Главная ловушка — «никакой обработки» означает буквально никакой. Ни проверки формата, ни исправления заголовков, ни подстановки недостающих. Письмо уйдёт ровно таким, каким вы его записали, — со всеми ошибками разметки, которые при подаче по протоколу были бы замечены.

Вторая половина — сбор файла прямо в каталоге. MTA начнёт пробовать взять его, не дожидаясь конца записи, и будет пробовать снова и снова. Это работает, но стоит дороже, чем перемещение готового файла.

Что делает Хаб. Не задействует: подаёт письма по SMTP под логином. Каталог подхвата в конфигурации не объявлен — значит и не работает.

Способ пригодился бы там, где подающая сторона не умеет SMTP или не должна ходить по сети. Для парка это не наш случай: подача идёт с самого Хаба через сеть, и логин там нужен всё равно.

Пример в конфигурации
# конверт — первыми строками файла, дальше обычное письмо
x-sender: me@over.here
x-receiver: you@over.therex-receiver: someone.else@some.other.place
x-job: sale-2026-08
From: Myself <me@over.here>
Subject: I love it

Hey, did you know that ...
Второй получатель не назван в заголовках письма — он получит слепую копию. Заголовки конверта MTA читает и удаляет, а всё остальное оставляет как есть.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается3 ошибки▶

Ждут, что MTA поправит формат письма

§ 11.20

Чем чреватоОбработки не происходит вовсе: письмо уходит ровно таким, каким записано. Ошибки разметки, которые при подаче по протоколу были бы замечены, доезжают до получателя.
Как заметитьПисьма из каталога подхвата отображаются у получателей не так, как поданные по SMTP.
Как правильноПроверять формат на подающей стороне: MTA этого не сделает.

Собирают файл прямо в каталоге подхвата

§ 11.20

Чем чреватоMTA начинает пробовать взять файл, не дожидаясь конца записи, и повторяет попытки. Это работает, но стоит дороже перемещения готового файла.
Как заметитьКаталог подхвата разбирается медленнее, чем ожидалось, при малом числе файлов.
Как правильноСобирать файл в стороне и перемещать в каталог готовым.

Кладут в файл больше 5000 получателей

§ 11.20

Чем чреватоРуководство советует держаться этой границы. Файл сверх неё разбирается долго, и всё это время он занят — а ошибка в нём стоит всей пачки сразу.
Как заметитьОтдельные файлы подхвата обрабатываются заметно дольше остальных.
Как правильноРезать пачку на файлы по несколько тысяч получателей.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Настроен ли каталог — видно в конфигурации; работает ли — по каталогу плохих писем:
grep -n 'pickup' /etc/pmta/config
ls -l /opt/pickup/new /opt/pickup/badfiles 2>/dev/null
Файлы, накопившиеся в каталоге плохих писем, означают ошибку формата на подающей стороне. Файлы, залежавшиеся в самом каталоге подхвата, — что MTA не может взять их в исключительное пользование.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Безопасность узла · Подключить платформу отправки