Дневная норма прогрева одной подачей

Слияние вместо тысячи отдельных писем

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

Из чего складывается:

  • mailmerge-smtp-extensions — пачка идёт тем же SMTP, что уже используется;
  • merge-reserved-variables — адрес отправки, задание и отправитель конверта у каждого получателя внутри одной подачи;
  • merge-parts — различия в строении писем;
  • scheduled-delivery — время едет в письме заголовком x-schedule, а не держится планировщиком.

Области у составляющих разные. Разрешение на слияние задаётся источнику (allow-mailmerge), окна доставки — письму. И то и другое — свойства подаваемого, а не узла, поэтому один узел обслуживает и пакетный прогрев, и обычную почту.

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

Главная ловушка — разрешить слияние источнику, которым пользуется кто-то ещё. Переменная *vmta перекрывает любой выбор адреса отправки из конфигурации: с разрешённым слиянием подающий сам решает, с какого адреса уйдёт почта.
Что делает Хаб. Не применяет: прогрев подаётся по SMTP по одному письму на получателя через общий логин, адрес отправки называет заголовок X-Virtual-MTA, а суточную норму и время держит планировщик Хаба. Разнообразие текста даёт спинтакс; слияние и окна доставки не используются.
Рекомендуемые значения

Что берёт на себя каждая часть:

Задача прогрева Чем решается Где задаётся
одна подача на норму XMRG, XDFN, XPRT подача
адрес и задание получателя *vmta, *jobid переменные получателя
разные тексты *parts переменные получателя
время отправки заголовок x-schedule письмо
право на слияние allow-mailmerge источник
Команды, переменные, части и окна доставки — из руководства (§ 11.19.4–11.19.5, § 11.13). Сама схема — наша гипотеза.
Пример в конфигурации
XMRG FROM:<warmup@example.com>
XDFN *vmta="vmta-new" *jobid="warmup-day3" *parts=1,2
RCPT TO:<alice@example.org>
XPRT 1
Заголовок x-schedule ставят в первой части среди остальных заголовков; последняя часть идёт с LAST.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, какому источнику разрешено слияние:
grep -rn 'allow-mailmerge\|always-allow-api-submission' /etc/pmta/
Строка нужна только в источнике прогрева: там, где подаёт кто-то ещё, *vmta отдаст ему выбор адреса.