Строка smtp-listener в корне файла открывает порт. Блок с тем же адресом описывает, как вести себя с соединениями на нём, — и всё, что в нём написано, касается только этого порта.
Три строки решают роль порта. source привязывает его к именованному блоку источника, отменяя обычный подбор по адресу, — так разводят подачу и приём входящей почты по разным портам. await-slot решает, ждать ли освободившийся слот при исчерпании потолка входящих соединений или отказывать. immediate-tls включает шифрование с первого байта, без команды STARTTLS.
Остальное — шифрование: свой tls-certificate на порт (наследуется от общей строки узла), выбор версий и наборов шифров, проверка клиентских сертификатов. Плюс три строки про протокол PROXY, если перед узлом стоит балансировщик.
# два порта с разными ролями: подача и приём входящей почты smtp-listener 0/0:2525 smtp-listener 0/0:25 <smtp-listener 0/0:25> source inbound-only await-slot true </smtp-listener>
3 статьи
◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.