<source>
Сколько получателей узел согласен принять в одном письме. Подающая система перечисляет их командами RCPT TO — по одной на адрес, — и как только их число переваливает за предел, следующие получают отказ.
Умолчание — 0, то есть предела нет. Из коробки узел примет письмо с любым числом адресов, сколько бы подающая система ни назвала. Директива нужна там, где такую щедрость надо ограничить: подающих несколько, или она одна, но ошибается.
Отказ приходит не на письмо, а на лишние адреса. Каждый RCPT TO сверх предела отвергается сам по себе; письмо при этом остаётся принятым и уходит тем получателям, что успели уложиться. Переключает это поведение соседняя строка too-many-rcpts-fails-message: с ней отказ переносится на DATA, и тогда письмо не принимается целиком. Без неё лишние адреса просто исчезают из письма.
Тёзка из блока приёмника — другая директива. <domain> несёт настройку с тем же именем, и она не про приём, а про отправку: сколько адресов класть в одну передачу приёмнику. Умолчание там 1000, а не 0, и смысл противоположный — не «сколько принять», а «на сколько кусков резать». Совпадение имён вендорское, и его стоит держать в голове, читая чужой конфиг.
Для нашей подачи это безразлично: прогрев отправляет письма по одному получателю — упираться нечем. Строка стала бы нужна на узле, куда подают пачками, и особенно там, где подающих несколько.
Оставить 0, пока подача своя. Предел защищает узел от чужой ошибки. Если письма подаёт наш же планировщик и по одному получателю на письмо, ограничивать нечего, а лишняя строка добавит способ выстрелить себе в ногу.
Ставить — когда подающих несколько. Тогда число берут не с потолка, а от того, как эти системы работают: самый крупный законный размер пачки плюс запас. Слишком низкое значение начнёт молча резать рассылки, слишком высокое ничего не защитит.
Ставить в паре. Отдельно от too-many-rcpts-fails-message предел почти бесполезен: он уменьшает письмо, вместо того чтобы отклонить его. Пара «предел плюс отказ на DATA» даёт подающей системе честный сбой, который она увидит и сможет повторить.
# предел без парной строки урезает письмо; с ней — отклоняет целиком <source 10.0.0.0/8> require-auth true max-rcpt-per-message 500 too-many-rcpts-fails-message true </source>
что делают не так и чем это кончается3 ошибки▶
§ 3.3.7.39
§ 3.3.10.83
§ 3.3.7.39
3 связи
grep -n 'max-rcpt-per-message\|too-many-rcpts-fails-message' /etc/pmta/config pmta test config
3 статьи
◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.