Окна отправки, заданные в самом письме

scheduled delivery windows
Время отправки становится свойством письма

Формат заголовка — перечень промежутков через запятую:

x-schedule: 2026-08-29 17:01:11 / 2026-08-29 17:30:11, 2026-08-30 17:01:11 / 2026-08-30 17:30:11

Промежутков можно перечислить сколько нужно.

Два следствия делают расписание чем-то большим, чем удобство.

Срок жизни письма отменяется. Настройка bounce-after к такому получателю не применяется: письмо живёт до конца последнего окна, и отбивается, когда пробовать больше не по чему. То есть когда сдаваться, решает расписание, а не политика повторов.

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

Главная ловушка — окно можно потратить впустую. Расписание выглядит как гарантия «отправить между 17:01 и 17:30», а на деле это разрешение пробовать в это время. Очередь, застрявшая в повторах с утра, пройдёт сквозь окно, не сделав попытки, — и следующего шанса у письма может не быть.

Проверить это заранее нельзя: состояние очереди на момент подачи подающей стороне неизвестно.

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

Разница между двумя устройствами не в удобстве, а в том, кто отвечает за пропущенное окно. Пока расписание у Хаба, он видит, что письмо не ушло, и решает, что делать. Отдав расписание в письмо, он этот контроль теряет: окно может закрыться внутри узла без единой попытки.

Пример в конфигурации
# разрешение читать заголовок с окнами выдаётся источнику
<source 10.0.0.0/24>
    process-x-schedule true    retain-x-schedule false
</source>
Первая строка включает расписание, вторая оставлена умолчанием: заголовок с окнами снимается перед доставкой и получателю не показывается. Само расписание приходит в письме, в конфигурации его нет.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Считают окно гарантией отправки

§ 11.13

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

Ждут, что письмо отобьётся по сроку

§ 11.13

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

Ставят заголовок, не выдав разрешения

§ 3.3.7.58

Чем чреватоБез разрешения источнику MTA доставляет письмо обычным порядком — немедленно и без всякого расписания. Ошибки при этом не возникает, а сам заголовок остаётся в письме и уезжает получателю.
Как заметитьПисьма с расписанием уходят сразу, а получатель видит в письме служебный заголовок.
Как правильноВыдать разрешение блоку источника, под который попадает подача.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Расписание видно у получателей в очереди — отдельным столбцом перечисления:
pmta list --schedule --maxitems=20
Пустой столбец значит, что расписания у письма нет: либо заголовок не пришёл, либо источнику не разрешено его читать. У нас пуст всегда — Хаб этот механизм не задействует.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Прогрев адресов · Разобрать зависшую очередь