Настройка почтовой системы Sendmail |
Для настройки взаимодействия между почтовой системой Sendmail и Dr.Web MailD необходимо внести изменения в конфигурационные файлы sendmail.mc и sendmail.cf. Если пересобирать конфигурационный файл sendmail.cf нежелательно, можно просто вставить в него или добавить (если соответствующие определения в файле уже есть) следующие строки: Для версий 8.14.0 и выше: ############################ Чтобы иметь возможность проверять сообщения, отправленные локально (через вызов mail или sendmail), необходимо продублировать все изменения, сделанные в файле sendmail.cf, в файлы submit.cf и submit.mc. Пожалуйста, обратите внимание, что по умолчанию файлы submit.cf и submit.mc защищены от записи, поэтому прежде, чем добавлять в них строки, необходимо изменить права доступа к этим файлам, разрешив запись в них. Кроме того, необходимо добавить к параметру O PrivacyOptions значение nobodyreturn. Пример: # privacy flags Или в {sendmail_src}/cf/cf/feature/msp.m4: define(`confPRIVACY_FLAGS' Для случая, когда фильтр недоступен, установите следующие флаги (F=): •R - отказать в доставке; •T - временно отложить доставку. Если ни F=R, ни F=T не указаны, то сообщение пропускается без проверки. Также можно добавить в sendmail.mc следующие строки: Для версий 8.14.0 и выше: INPUT_MAIL_FILTER(`drweb-milter', `S=__ADDRESS__, Величину времени ожидания лучше выбирать в соответствии с величинами времени ожидания Sendmail: O Timeout.datablock=XX (по умолчанию эта величина равна 1 часу, XX=>1h). После внесения изменений файл sendmail.cf необходимо пересобрать. __ADDRESS__ - строка, задающая адрес транспорта для подключения модуля drweb-milter. Она имеет формат и значение, идентичные формату и значению параметра Address секции [Milter] конфигурационного файла Dr.Web MailD. Для TCP-сокетов адрес задается в формате: inet:__PORT__@__HOST__ где __PORT__ и __HOST__ должны иметь конкретные значения (например, inet:3001@localhost). Для UNIX-сокетов адрес задается в формате: local:__SOCKPATH__ где __SOCKPATH__ должен указывать путь, доступный с теми правами, с которыми будет запущен фильтр (наример, local:/var/run/drweb-milter.sock). Тонкости настройки фильтра можно найти в документации на Sendmail. После установки всех необходимых параметров следует перезапустить Sendmail. Чтобы модуль drweb-maild мог при выводе сообщений в лог указывать идентификаторы почтовых сообщений Sendmail (sendmails message ID). Также для передачи модулю drweb-maild информацию об успешной авторизации, в файле sendmail.cf должна присутствовать следующая строка: O Milter.macros.envfrom=i,{auth_type}, ... (многоточием обозначены остальные параметры, значение которых не важно). Чтобы Dr.Web MailD мог определить IP-адрес и имя хоста, от которого принято сообщение, а также мог передавать модулю drweb-maild адрес интерфейса, на который было принято письмо, в файле sendmail.cf должна присутствовать следующая строка: O Milter.macros.connect=_,{if_addr}, ... (многоточием обозначены остальные параметры, значение которых не важно). Для подавления вывода в syslog сообщений вида: X-Authentication-Warning: some.domain.com: drweb set sender to DrWeb-DAEMON@some.domain.com using -f необходимо внести того пользователя, от имени которого работает drweb-milter (по умолчанию - drweb) в список trusted-users в файле submit.cf. Это можно сделать, добавив пользователя в список непосредственно в файлах submit.cf и sendmail.cf: ##################### Либо добавив в файл submit.mc строку: define(`confTRUSTED_USERS', `drweb') |