Две метки, которые отправитель вешает на письмо

критично

job id and envelope id
Что не помечено при подаче, потом не отберёшь

Метка задания объявляет письмо частью общей рассылки. Ограничение одно и жёсткое: печатаемые символы без пробелов. Идентификатор конверта опознаёт одно конкретное письмо.

Обе ставит подающая сторона — заголовком, переменной слияния или вызовом библиотеки подачи. Узел их не придумывает.

Обе возвращаются в главе 6 как отборы командной строки: –jobId и –envId понимают перечисление очереди, удаление и смену приоритета. Метка задания умеет больше — на ней держатся pause job и resume job, то есть остановка одной рассылки без остановки остальных.

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

Руководство отдельно оговаривает: удаление требует явного –queue или –jobId, чтобы случайная команда не вычистила всю очередь.

Главная ловушка — метку нельзя поставить задним числом. Она появляется в момент подачи или не появляется вовсе. Понимание, что без неё не обойтись, обычно приходит в тот момент, когда одну рассылку из четырёх нужно срочно остановить, — а к этому моменту письма уже в очереди и без меток.
Что делает Хаб. Метку задания не ставит и заголовок с ней запрещает: в каждом именованном источнике подачи стоит строка process-x-job false. Идентификатор конверта тоже не задаётся.

Отсюда и устройство управления очередями в Хабе: остановка, возобновление и удаление работают по очереди — pause queue, resume queue, delete –queue=. Отбирать по заданию нечего.

На узле, где идут рассылки нескольких отправителей в одни и те же очереди получателей, это значит, что остановка бьёт по всем.

Пример в конфигурации
# метка приходит заголовком, если источнику разрешено её читать
<source 10.0.0.0/24>
    process-x-job true    jobid-prefix customer1
</source>
Письмо с заголовком «x-job: sale-2026-08» получит метку customer1sale-2026-08 — приставка источника плюс значение из письма. Дальше эту метку понимают отборы командной строки и остановка задания.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Останавливают рассылку командой по очереди

§ 6.3

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

Кладут в метку пробелы

§ 7.4.8

Чем чреватоРуководство разрешает только печатаемые символы без пробелов. Название рассылки в человеческом виде — «Летняя распродажа» — под это ограничение не подходит.
Как заметитьМетка не ставится или ставится обрезанной.
Как правильноИспользовать машинный идентификатор рассылки, а человеческое название держать у себя рядом с ним.

Удаляют без явного отбора

§ 6.3.28

Чем чреватоMTA специально требует явных –queue или –jobId именно потому, что умолчание удаления — вся очередь целиком. Восстановления у удалённых писем нет.
Как заметитьКоманда удаления отвергнута MTA — или, хуже, принята с отбором шире задуманного.
Как правильноВсегда называть отбор явно и сначала посмотреть тем же отбором командой перечисления.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
⇄

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

4 связи

Как проверить на узле
Какие задания сейчас в очереди, узел показывает отдельной командой:
pmta show jobs --maxitems=20
pmta list --jobId=<метка> --maxitems=20
Пустой список означает не «очередь пуста», а «никто не ставит метку»: письма в очереди есть, но ни одно не отнесено к заданию. У нас список пуст всегда — Хаб метку не ставит.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Аварийная остановка · Разделение отправителей
Важность
критично