Прогрев, встроенный в MTA

Cold VirtualMTA
Новый адрес набирает историю на чужом трафике

В основе — переадресация, а не отдельная рассылка. Адрес отправки называет напарника и суточную норму; первые письма дня к каждому получателю уходят напарнику, остальные — как обычно.

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

Счётчики обнуляются в полночь и переживают перезапуск. И сама выборка тоже: перезапуск узла не выдаст холодному адресу вторые сутки трафика подряд.

Холодный напарник — обычный адрес отправки, и письма он доставляет по своим настройкам. Значит, у него должны быть свои: адрес, имя, ключ подписи, свои лимиты.

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

Главная ловушка. Холодный адрес не наследует настройки того, кто отдаёт ему письма. Лимиты, ключи подписи, имя в приветствии — всё это на нём надо задать заново. Прогрев неподписанными письмами с несходящимся PTR принесёт репутации больше вреда, чем сам прогрев пользы.
Что делает Хаб. Не пользуется: прогрев в Хабе ведёт план — своё расписание, библиотека сообщений, резервный пул адресов, остановка по доле спама. Движковый механизм отдаёт часть боевого трафика и тем делает прогрев его заложником: нет рассылки в этот день — нет и прогрева. Держим как альтернативу для тех, кто прогревает не через Хаб; разумная гибридная форма — Хаб решает суточное число, MTA исполняет разделение.
Рекомендуемые значения

Собственных значений у механизма нет: напарника называет cold-virtual-mta, число — max-cold-virtual-mta-msg. Обе половины обязательны — норма без напарника не делает ничего.

Что Где Умолчание
кто напарник cold-virtual-mta в прогретом адресе отправки нет
сколько писем max-cold-virtual-mta-msg в его блоке получателя 0/d, то есть выключено
как холодный шлёт его собственный блок адреса отправки ничего не наследуется

Задавать лесенкой, а не одним числом: постоянные сто писем в день с первого дня — это не прогрев.

Правило «на получателя в сутки», обнуление в полночь, сохранение счётчиков и оговорка про прогретый адрес — из руководства (§ 11.6). Лесенка — наша рекомендация.
Пример в конфигурации
# прогретый отдаёт первые письма дня, холодный шлёт по своим настройкам
<virtual-mta vmta1>
    smtp-source-host 1.2.3.4 vmta1.example.com
    cold-virtual-mta vmta2    <domain *>
        max-cold-virtual-mta-msg 1000/day
    </domain>
</virtual-mta>

<virtual-mta vmta2>
    smtp-source-host 5.6.7.8 vmta2.example.com
    <domain *>
        max-msg-rate 100/h
    </domain>
</virtual-mta>
Пример руководства. У холодного адреса свой источник и свой темп — наследования нет. И 1000/day здесь означает тысячу на каждого получателя: на десяти крупных приёмниках это десять тысяч писем в сутки.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Включают механизм, не имея ни одного прогретого адреса

§ 11.6

Чем чреватоОтдавать нечего: весь трафик и так идёт с новых адресов. Механизм лишь перекладывает его между ними, а репутация не строится ни у одного.
Как заметитьНастройка сделана, а доля отказов у всех адресов одинаково высокая.
Как правильноПользоваться лимитами адреса отправки — вендор советует именно это первой строкой раздела.

Не настраивают холодного напарника

§ 3.3.10.57

Чем чреватоОн не наследует ничего: ни ключей подписи, ни имени в приветствии, ни лимитов. Письма уходят неподписанными и с несходящимся PTR — то есть ровно так, как не должен выглядеть новый адрес.
Как заметитьВ письмах с холодного адреса нет заголовка подписи; получатели жалуются на аутентификацию.
Как правильноЗадать напарнику полный набор — источник, имя, ключи, собственные лимиты. Это самостоятельный адрес отправки, а не режим другого.

Забывают про объединение по MX

§ 11.6

Чем чреватоПри активном объединении норма берётся у объединённой очереди, а не у отдельных доменов. Руководство отдельно предупреждает: при наличии списка объединения через холодные адреса может пойти меньше трафика, чем задано, даже у необъединённых доменов.
Как заметитьСуточный объём холодного адреса заметно ниже расчётного, и расхождение не объясняется числом получателей.
Как правильноСчитать норму по объединённым очередям, а не по доменам, — либо проверить, нужен ли список объединения на этом узле вовсе.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Наследование
Наследования у самого механизма нет — наследуются директивы, которыми он включается. cold-virtual-mta можно записать в пуле, и тогда напарник достанется каждому участнику; собственная строка участника пуловую перекрывает. А вот холодный адрес не наследует ничего от того, кто ему письма отдаёт: это отдельный адрес отправки со своими настройками.
⇄

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

4 связи

Как проверить на узле
Отдельного счётчика узел не показывает — смотреть надо в учёт, в поле реально отправившего адреса:
pmtaacctfind --output csv[vmta,rcpt,timeLogged] /var/log/pmta/acct-*.csv
Холодный адрес должен появляться на первых письмах дня к каждому получателю и исчезать после выборки нормы. Не появляется вовсе — проверьте две вещи: письма подаются по SMTP (отбор идёт при приёме) и обе половины настройки на месте.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки · Прогрев адресов