Файл конфигурации программы Sendmail

Программа Sendmail — это наиболее распространенный MTA. Несмотря на солидный возраст, эта программа до сих пор устанавливает стандарт работы MTA и обладает исключительно широкими возможностями.

Основной файл конфигурации программы Sendmail — sendmail.cf.

В GNU/Linux файлы конфигурации Sendmail располагают в каталоге /etc/mail.

В файле конфигурации sendmail.cf определяются правила обработки почты. В нем могут быть определены классы (classes), макросы (macros) и опции (options):

r классы определяют общие фразы, которые используются для задания на- боров правил обработки для сообщений определенного типа;

r макросы представляют собой наборы значений для упрощения набора длинных строк текста в файле конфигурации;

r опции представляют собой набор параметров для обеспечения работы

Sendmail.


 

Каждая строка конфигурационного файла sendmail.cf начинается с одиночно- го символа, определяющего действие, которое должно быть выполнено. Строки комментариев начинаются с символа #.

Используются следующие виды строк конфигурации sendmail.cf:

r C — определяет класс;

r D — определяет макрос;

r F — определяет имя файла, содержащего классы;

r H — определяет поля заголовка в посланиях и действия с ними;

r K — определяет базы данных;

r M — определяет почтовые хосты;

r O — определяет опции Sendmail;

r P — определяет приоритеты;

r R — определяет наборы правил для обработки адресов;

r S — определяет группы наборов правил.

Например, определение имени почтового узла, называемого Smart Host, через который осуществляется ретрансляция всей исходящей почты, делается с помощью макроса в файле sendmail.cf (пример 29.2).

 

Пример 29.2. Настройка Smart Host

 

DSmailrelay.provider.ru

 

В этом примере в файл настроек Sendmail занесена настройка, вынуждающая его посылать для дальнейшей отправки всю исходящую почту на узел mailrelay.provider.ru. Это сделано с помощью определения макроса с име- нем S, которому присвоено значение mailrelay.provider.ru.

Имеются заранее определенные макросы. Далее приведены некоторые из них:

r $a — дата отправки из поля Date: заголовка письма;

r $b — текущая дата в формате sendmail;

r $c — число передач письма серверами MTA;

r $d — текущая дата в системном формате UNIX;

r $f — адрес отправителя;

r $h — идентификатор сообщения в очереди;

r $j — полное доменное имя узла;


 

r $k — доменная часть узла;

r $m — имя процесса демона sendmail;

r $n — PID процесса демона sendmail;

r $p — формат адреса отправителя по умолчанию;

r $r — протокол, используемый для приема сообщения;

r $s — имя хоста отправителя;

r $t — числовое выражение текущего времени;

r $u — получатель сообщения;

r $v — номер версии Sendmail;

r $w — имя хоста, на котором запущен данный экземпляр Sendmail;

r $x — полное имя отправителя;

r $z — рабочий каталог получателя;

r $_ — проверенный адрес отправителя;

r ${bodytype} — тип тела сообщения;

r ${client_addr} — IP-адрес SMTP-клиента;

r ${client_name} — имя хоста SMTP-клиента;

r ${client_port} — номер TCP-порта SMTP-клиента;

r ${opMode} — текущий режим работы (например, отладочный);

r ${deliveryMode} — текущий режим доставки.

Классы C предназначены для группировки критериев, по которым будут вы- бираться пути обработки сообщения. Формат определения класса приведен в примере 29.3.

 

Пример 29.3. Определение класса

 

Ccphrase1 phrase2 ... phraseN

 

Здесь c — имя класса, а phrase — критерии, которые объединены в класс. Если имя класса многосимвольное, то его следует взять в фигурные скобки. Так, например, для определения класса локальной обработки сообщений с именем w (т. е. сообщений, которые не надо передавать через сеть, а доста- точно поместить в почтовый ящик адресата на этой же машине) следует ис- пользовать директиву Cw (пример 29.4).


 

Пример 29.4. Определение класса локальных имен

 

Cwlocalhost

 

Классы часто задают с помощью внешних текстовых файлов, а не в конфигура- ционном файле sendmail.cf. Для извлечения значений классов из файлов предна- значены строки конфигурации F. Формат строк F показан в примере 29.5.

 

Пример 29.5. Определение класса с помощью файла

 

Fc filename

Здесь с — имя класса, а filename — имя файла, содержащего определение класса. Имя класса подчиняется тем же правилам, что и в строках C.

Предположим, что сервер SMTP может передавать (relay) почту для несколь- ких доменов, имена которых указывают в файле /etc/mail/relay-domains (при- мер 29.6).

 

Пример 29.6. Определение доменов, для которых разрешена передача почты

 

FR-o /etc/mail/relay-domains

 

Здесь класс R, задающий имена доменов, для которых разрешена передача почты, определяется с помощью строк в файле /etc/mail/relay-domains.

Помимо задания классов в текстовых файлах широко используются базы данных. Для извлечения значений класса из базы данных предназначены строки K (пример 29.7).

 

Пример 29.7. Определение класса в базе данных

 

Kmapname mapclass arguments

 

Здесь mapname — имя файла базы данных, mapclass — тип индексирования базы данных (например, hash), а argument — дополнительные аргументы.

Это применяется, например, для предотвращения рассылки несанкциониро- ванных сообщений с помощью файла access.db, разрешающего доступ к MTA (пример 29.8).

 

Пример 29.8. Включение файла access.db

 

Kaccess hash -T<TMPF> -o /etc/mail/access.db


 

В этом примере определена база данных access, находящаяся в файле

/etc/mail/access.db.

Опции команды sendmail, задаваемые с помощью -o и -O в командной стро- ке, могут быть заданы непосредственно в файле конфигурации sendmail.cf. Для этого используются директивы O. Формат директив O: Oo value или O option=value, где o — односимвольное имя опции, а option — длинное имя опции (пример 29.9).

 

Пример 29.9. Задание времени ожидания сетевого соединения

 

O Timeout.connect=1m

 

Бóльшую часть файла конфигурации sendmail.cf занимают настройки про- цесса преобразования почтовых адресов, что делается с помощью определе- ний правил разборки R и их наборов S.








Дата добавления: 2015-06-12; просмотров: 872;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.