Занятые имена переменных слияния

критично

reserved mailmerge variables
Свои переменные так называть нельзя

Имена переменных слияния, начинающиеся со звёздочки, заняты MTA. Пять управляют письмом получателя: *from — отправитель конверта, *envid — идентификатор конверта, *vmta — адрес отправки или пул, *jobid — задание, *parts — набор и порядок частей.

Остальные задают доставку и сведения для SparkPost: *schedule — расписание, *priority — приоритет от 1 до 100, по умолчанию 50, *subaccountid и *custommessageid. *to и *date подставляются сами и не перекрываются.

Звёздочка побеждает конфигурацию: *vmta перекрывает любой другой способ выбрать адрес отправки, *envid и *jobid — заданное иначе, *priority — приоритет из <pattern-list>. Данные получателя становятся каналом управления.

Главная ловушка — чужое слияние на своём узле. *vmta перекрывает любой способ выбора адреса отправки из конфигурации: источник с разрешённым слиянием сам решает, через какой адрес уйдёт его почта.
Что делает Хаб. Слияние не использует: письма подаются по одному на получателя, а адрес отправки выбирается по домену отправителя. Знать занятые имена нужно тому, кто подключит слияние, — и тому, кто принимает на узел чужое содержимое: эти переменные перекрывают конфигурацию.
Рекомендуемые значения

Занятые имена:

Переменная Что задаёт
*from отправителя конверта
*envid идентификатор конверта
*vmta адрес отправки или пул
*jobid задание
*parts набор и порядок частей
*schedule, *priority расписание и приоритет доставки
*subaccountid, *custommessageid сведения для SparkPost
*to, *date подставляются сами, не перекрываются
Звёздочка, список переменных, их действие и умолчание приоритета — из руководства (§ 11.19.4.2). Вывод про канал управления — наш.
Пример в конфигурации
# получателю — свой адрес отправки и задание
XDFN *vmta="mta4" *jobid="TravelAlerts"RCPT TO:<alice@example.com>
По мотивам примера руководства: переменные задают командами XDFN перед RCPT получателя — по нескольку в одной команде.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, кому разрешено слияние:
grep -rn 'allow-mailmerge\|always-allow-api-submission' /etc/pmta/
Источник со слиянием может перекрыть выбор адреса отправки; остальным это недоступно.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки · Прогрев адресов · Разделение отправителей
Важность
критично