Дополнительные конфигурационные файлы Sendmail Данный документ кратко описывает набор дополнительных конфигурационных файлов Sendmail- FEATURES и HACKS. Более подробную информацию об использовании предоставляемых ими функциональных возможностей можно получить в соответствующих файлах в подкаталогах feature и hack. +----------+ | FEATURES | +----------+ доступные FEATURES: relay_full_addr Включение этой опции позволяет указывать в access_db с префиксом To: адреса отдельных получателей, для которых данных хост будет обрабатывать входящую почту. Ранее можно было указывать необходимость обработка входящей почты всего домена целиком. +-------+ | HACKS | +-------+ доступные HACKS: cfhead В этом файле описаны вспомагательные К строки, синтаксические конструкции и регулярные выражения, используемые в других HACKS. check_helo Включение проверки аргумента команды EHLO/HELO. Возможны проверки: 1. Проверка по access_db; 2. Проверка использования в качестве HELO PTR или A записей локальных интерфейсов или доменов; 3. Проверка отсутствия точки в HELO; 4. Проверка корректности HELO, указанных в виде IP адреса в квадратных скобках; 5. Запрет приема писем с HELO, указанными в виде IP адреса без квадратных скобок; 6. Проверка поддельных HELO для доменов, у которых доменная часть HELO должна совпадать с доменной частью PTR записи рилея. Исключения из проверки HELO производятся в следующих случаях: 1. Если отправитель успешно прошел аутентификацию: 2. Если сообщение является исходящим, подробнее см. is_outgoing.m4 Подробнее об использовании HACK(`check_helo') см. в check_helo.m4 check_helo_dialup_regex Проверка аргумента команды EHLO/HELO на соответствие регулярному выражению. HACK(`check_helo_dialup_regex') является дополнением к HACK(`check_helo') check_ip Проверка синтаксиса IP адресов. Этот HACK используется в HACK(`check_helo'). check_relay_dialup HACK(`check_relay_dialup') является основой для проверки PTR записи рилея на принадлежность к dial-up/dsl/cable сетям. В данном hack'е создается правило Local_check_dialup_relay и делаются исключения из проверки этим правилом для: 1. локальных сообщений 2. исходящих сообщений (адрес рилея присутствует в access_db с квалификатором Connect или без него и значением RELAY) 3. исключений, указанных в access_db (адрес рилея присутствует в access_db с квалификатором Connect или без него и значением OK) 4. исключений, указанных в access_db (адрес рилея присутствует в access_db с квалификатором ConnectDialUp или без него и значением RELAY, OK или SKIP) 5. аутентифицированных отправителей check_relay_dialup_regex Проверка ${client_name} и/или ${client_ptr} на соответствие регулярному выражению. HACK(`check_relay_dialup_regex') является дополнением к HACK(`check_relay_dialup') check_relay_dialup_token Проверка, содержит ли ${client_name} токен, указанный в качестве параметра для HACK(`check_relay_dialup_token'). HACK(`check_relay_dialup_token') является дополнением к HACK(`check_relay_dialup') check_relay_forged Принудительная проверка PTR записи рилея в access_db. Данная проверка является аналогом FEATURE(`use_client_ptr'), но обладает некоторыми отличиями. Подробнее см. check_relay_forged.m4 is_outgoing Проверка того, является ли письмо исходящим. Данная проверка используется при исключениях из других проверок исходящих сообщений, в частности в HACK(`check_helo'). HACK(`is_outgoing') включается в другие HACKS автоматически, Подробнее об использовании HACK(`is_outgoing') см. в is_outgoing.m4 precheck_envelope Вспомагательный HACK, позволяющий канонифицировать адреса отправителя и получателей перед использованием в Local_check_mail и Local_check_rcpt, а также выполняющий HACK(`is_outgoing')