Россия, Казань, Казанский Национальный Исследовательский Технический Университет |
Программа sendmail
Определение приоритетов с помощью Р-строк
Строки конфигурации, которые начинаются буквой " Р ", определяют значения приоритетов. В каждом сообщении формата RFC822 может использоваться заголовок Precedence:, в котором обозначаются признаки срочности сообщения. Назначение поля Precedence: заключается в особой обработке важных сообщений. Конфигурация с помощью Р -строк позволяет sendmail назначать числовые значения приоритетов на основании содержания поля Precedence:. Тогда пересылка почты осуществляется на основании значения в поле Precedence:. Формат Р -строки следующий:
Ptext=value,
где text — содержимое поля Precedence:, а value — числовое значение, которое используется sendmail для определения степени важности сообщения. Более высокие значения value говорят о более высоком приоритете сообщения. В некоторых случаях в конфигурации sendmail можно задавать отрицательные значения приоритетов для классов " bulk " и " junk " в поле Precedence:, чтобы быть уверенным в том, что сообщения этих классов имеют самый низкий приоритет при доставке сообщений. Задание приоритетов сообщениям в конфигурационном файле выглядит примерно таким образом:
Pfirst-class=0 Pspecial-delivery=100 Plist=-30 Pbulk=-60 Pjunk=-100
При такой конфигурации почте присваивается первый класс, который имеет наивысший приоритет, а спаму (помечаемому как junk ) задается самый низкий приоритет при передаче.
Определение параметров с помощью О-строк
Строки конфигурации, которые начинаются с буквы " О ", определяют параметры, управляющие работой программы sendmail. Существует довольно много параметров, с помощью которых можно управлять поведением sendmail. Кроме задания параметров в конфигурационном файле, их также можно задавать в командной строке с помощью параметров -о и -О.
В ранних версиях sendmail применялись односимвольные названия параметров. Формат О -строки с использованием таких параметров следующий:
Oo value,
где o — односимвольное имя параметра, а value представляет собой значение этого параметра. В настоящее время sendmail распознает и параметры длиной в несколько символов. Формат О -строки для параметров с длинными именами следующий:
О option=value,
где option — длинное имя параметра, а value представляет собой его значение. В зависимости от параметра значение value может быть текстовым, целочисленным, логическим (булевым) или интервалом времени.
Для управления работой sendmail имеется большое количество параметров. Их настолько много, что нам не хватит этой лекции, чтобы описать их все. В табл. 10.9 представлены некоторые наиболее часто используемые параметры конфигурирования sendmail для работы на стандартном почтовом сервере.
Параметр | Описание |
---|---|
AliasFile | Определяет файл почтовых псевдонимов |
DefaultUser | Устанавливает идентификаторы пользователя и группы, с которыми будет запускаться sendmail |
DontBlamesendmail | Разрешает всем внешним пользователям выполнять чтение-запись из каталогов и файлов (очень опасно!) |
HoldExpensive | Позволяет sendmail собирать почту в специальную очередь для дальнейшей обработки другими почтовыми программами |
CheckpointInterval | Устанавливает интервал времени, через который проверяется очередь |
DeliveryMode | Устанавливает режим доставки (интерактивный, фоновый, с помещением в очередь или с отложенной доставкой) |
ErrorMode | Устанавливает метод уведомления об ошибках (выводить на печать, уведомлять по электронной почте или не уведомлять об ошибках) |
SaveFromLine | Сохраняет все UNIX-заголовки From:, даже если они являются избыточными |
MaxHopCount | Устанавливает, сколько раз сообщение может обрабатываться другими МТА (количество переприемов). Сообщение аннулируется, если это значение превышено |
IgnoreDots | Игнорировать точки во входящих сообщениях. В SMTP всегда запрещено |
SendMimeErrors | Сообщения об ошибках выдаются в формате MIME |
ConnectionCacheTimeout | Устанавливает максимальный интервал времени ожидания для соединения с кэшем |
LogLevel | Устанавливает уровень детализации отчетов. По умолчанию это значение равно 9 |
MeToo | Пересылает сообщение на указанное имя пользователя, даже если это псевдоним |
CheckAliases | Проверка псевдонимов при реконструкции базы данных псевдонимов |
OldStyleHeaders | Разрешает применение заголовков старого формата с использованием пробелов в качестве разделителей |
QueueDirectory | Определяет каталог, где находится очередь почтовых сообщений |
StatusFile | Собирает статистические данные о текущем состоянии в файл |
Timeout.queuereturn | Устанавливает интервал ожидания сообщения |
UserDatabaseSpec | Устанавливает спецификацию базу данных пользователей |
ForkEachJob | Для доставки каждого задания в очередь использовать отдельный процесс |
SevenBitInput | Урезает ввод до 7 бит |
EightBitMode | Определяет метод обработки 8-битовых данных |
MinQueueAge | Обрабатывать только те задания, которые находятся в очереди уже определенное время |
DefaultCharSet | Устанавливает кодировку при преобразовании данных в MIME-формат |
DialDelay | Определяет время задержки для сетей с установлением соединения по запросу |
NoRecipientAction | Определяет обработку сообщений, у которых нет корректных получателей |
MaxDaemonChildren | Определяет количество дочерних процессов sendmail, которые позволяют производить одновременную обработку входящей почты |
ConnectionRateThrottle | Определяет максимальное количество входящих соединений, которые процесс-демон может обработать параллельно |
Некоторые примеры параметров, применяемых в стандартной конфигурации:
O AliasFile=/etc/aliases O DefaultUser=8:12 O DeliveryMode=background O HelpFile=/usr/lib/sendmail.hf
В этой группе в О -строках задаются значения для некоторых общих параметров sendmail.
Наборы правил
Ядро файла конфигурации составляют наборы правил. Наборы правил являются для sendmail инструкцией, определяющей действия, которые должны выполняться над входящими сообщениями, а также способы доставки сообщения получателям. В наборах правил обычно используются R -строки и S -строки конфигурации. С помощью R -строк определяется алгоритм действий, выполняемых с сообщением, в то время как S -строки используются для определения групп наборов правил. В последующих разделах дается описание R - и S -строк конфигурации.