Globalустарела
Строка задавала адрес, на котором узел слушает входящие почтовые соединения. Порт задавался отдельно — smtp-port, — и настройка всегда была разложена по двум строкам. Руководство отвело этому имени раздел из одной фразы: «устарела, используйте smtp-listener».
Замена соединяет адрес и порт в одну строку — smtp-listener CIDR:PORT. Разница не косметическая: пара «адрес плюс порт» могла описать только одну точку приёма, а строк замены в файле может быть сколько угодно, и 0.0.0.0 разрешено повторять, открывая несколько портов сразу. Плюс у замены есть необязательный параметр source=, которым слушателю назначают блок подачи с готовыми настройками.
🔴 Присутствие замены делает эту строку немой. Формулировка руководства прямая: если в конфигурации есть хоть одна строка smtp-listener, MTA игнорирует smtp-ip и smtp-port. Не ругается, не предупреждает — просто не смотрит на них.
А если нет ни одной строки замены, MTA неявно запускает слушателя на 0.0.0.0:25. То есть убрать все строки приёма и тем закрыть порт нельзя: закроется он только сменой порта, а не удалением.
Значит, на любом узле, собранном Хабом, старая пара была бы немой по определению — строки замены там есть всегда.
⚠️ Отдельная тонкость для тех, кто ищет по коду Хаба: имена smtp-ip и smtp-port в исходниках встречаются — но это настройки другого MTA, MailerQ, где они живые и означают своё. К PowerMTA они отношения не имеют.
Что ставить. Ничего: пару следует заменить одной строкой.
| Значение | Когда |
|---|---|
| не писать | всегда: точка приёма задаётся заменой |
| адрес | только в старой конфигурации, которую ещё не перевели |
Перевод. Адрес из этой строки и порт из соседней складываются через двоеточие: smtp-ip 0.0.0.0 плюс smtp-port 25 дают smtp-listener 0/0:25. Обе старые строки после этого убираются — иначе в файле останутся настройки, на которые MTA не смотрит.
# так писали раньше — две строки на одну точку приёма smtp-ip 0.0.0.0smtp-port 25 # так пишут сейчас — и точек приёма может быть несколько smtp-listener 0/0:2525 smtp-listener 0/0:25
что делают не так и чем это кончается3 ошибки▶
§ 3.3.1.27
§ 3.3.1.27
§ 3.3.1.25
3 связи
grep -rn 'smtp-ip\|smtp-port\|smtp-listener' /etc/pmta/ ss -lntp | grep pmta
3 статьи
◇Принять, направить, доставитьПуть письма внутри узла: принять, решить куда, доставить — и между этими тремя шагами живут все настройки.◇Четыре типа значений, на которых написан весь конфигЛогическое, образец домена, регулярное выражение и промежуток времени — определены один раз в § 3.2 и дальше используются всеми директивами.◇Перезагрузка настроек против перезапуска службыКонфигурация читается при старте, дальше правки подхватываются командой перезагрузки — кроме тех директив, которые руководство помечает как требующие перезапуска.