alias

Global

Пересылать почту с одного адреса на другие
в конфигурации это строкаaliasвнутри блока Global
Строка, у которой два места записи

Формат — исходный адрес, затем адрес назначения. Раздел о самой пересылке (§ 13.9) уточняет: адресов назначения может быть несколько, через запятую.

Сокращённая запись — только локальная часть. Тогда пересылка срабатывает для этой локальной части в любом из локальных имён узла. Сопоставления по домену и по образцу нет.

Два места записи, и руководство расходится. Глава 3 (§ 3.3.1.24) описывает строку на уровне узла и показывает её в корне файла. Глава 13 (§ 13.9) во всех трёх примерах помещает те же строки внутрь блока <aliases> — блока, которого нет ни в указателе главы 15, ни в описании блоков главы 3.

Какая из форм действует на вашей версии MTA, проверяется только применением конфигурации.

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

Вторая половина — расхождение самого руководства о том, писать строку в корне файла или внутри блока. Ошибиться здесь легко: строка, написанная не туда, скорее всего просто не сработает, и никакой ошибки при этом не будет.

Что делает Хаб. Не пишет: пересылку он не объявляет. Служебная входящая почта — жалобы, отказы, роль-адреса — принимается правилами по образцу и разбирается обработчиками, а не уходит дальше письмом.
Рекомендуемые значения

Что ставить. Значение — пара «откуда, куда»; выбирать приходится форму записи:

Значение Когда
полный адрес и один получатель обычный случай: один ящик вместо другого
полный адрес и несколько через запятую письмо должно уйти нескольким сразу
голая локальная часть один и тот же ящик во всех именах узла

Третья форма самая широкая и самая незаметная: она молча охватывает все локальные имена, включая добавленные потом.

Синтаксис пары — из § 3.3.1.24; несколько адресов через запятую, сокращённая запись и отсутствие сопоставления по образцу — из § 13.9. Расхождение о месте записи (корень файла против блока) — наша находка.
Пример в конфигурации
# два адреса на выходе и сокращённая запись во второй строке
<aliases>
    alias example@yourdomain.com support@example.net,sales@example.net    alias jdoe someone@example.com
</aliases>
Так строки показаны в главе 13. Глава 3 описывает ту же директиву на уровне узла, без обрамляющего блока, — какая форма действует, проверяется применением конфигурации.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ждут, что поток выберется по адресу назначения

§ 13.9

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

Пишут строку не в то место

§ 3.3.1.24

Чем чреватоГлава 3 показывает её в корне файла, глава 13 — внутри блока <aliases>, которого нет в указателе. Написанная не туда, строка скорее всего просто не сработает, и ошибки при этом не будет.
Как заметитьПересылка объявлена, а письма уходят на исходный адрес.
Как правильноПроверить обе формы применением конфигурации и оставить ту, что сработала на вашей версии MTA.

Пользуются сокращённой записью, не думая о всех именах узла

§ 13.9

Чем чреватоГолая локальная часть срабатывает во всех локальных именах узла, включая те, что добавят потом. Новый домен на узле молча получает ту же пересылку.
Как заметитьПочта нового домена уходит на чужой ящик, хотя для него ничего не объявляли.
Как правильноПисать полные адреса везде, где пересылка не должна распространяться на будущие домены.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
alias SOURCE TARGET
Значения
исходный адрес или локальная часть, затем один или несколько адресов через запятую
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Директива уровня узла: действует на весь экземпляр, наследования у неё нет. Ограничить пересылку источником или потоком нельзя — она срабатывает по адресу получателя, кто бы письмо ни подал.
Как проверить на узле
Объявления видно в конфигурации; сработало ли раскрытие — по очередям:
grep -n -A5 '^<aliases>\|^alias ' /etc/pmta/config
pmta show queues --maxitems=20
В очередях появятся домены адресов назначения, а не исходных. Если их там нет, строка не сработала — и первое, что стоит проверить, это место её записи.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты