Sendmail Installation and Operation Guide


C и F - Определение Класса


Можно определить классы или фразы для соответствия левосторонней части правил перезаписи, где "фраза" - это последовательность символов, не содержащая символов пробела. Например, для предотвращения отправки сообщений самому себе, может быть создан класс всех локальных имен для данного узла. Это может быть определено как в файле конфигурации, так и читаться из другого файла. Классы имеют имена, состоящие из одной буквы или слова в {скобках}. Имена классов, начинающиеся с букв нижнего регистра и специальных символов, зарезервированы для использования системой. Классы, определенные в файлах конфигурации могут быть заданы заглавными буквами для коротких имен, или начинаться с заглавной буквы для длинных имен.

Синтаксис: Ccphrase1 phrase2... Fcfile

Первая форма определяет класс c соответствующим любому из названных слов. Ее можно разбивать на несколько строк; на пример, две формы: CHmonet ucbmonet

и CHmonet CHucbmonet

эквивалентны. Форма "F" читает элементы класса c из названного file.

Можно получить доступ из правил к элементам классов, используя $= или $~, (сопоставить вхождения не входящие в класс) совпадающие только с отдельным словом; вхождения из нескольких слов в классе, в этом контексте, игнорируются.

Некоторые классы имеют для sendmail внутреннее значение:

$=e Содержит Content-Transfer-Encodings которые могут быть преобразованы 8->7 bit. Предопределено для содержания "7bit", "8bit", и "binary".
$=k То же самое, что и $k, то есть, имя узла UUCP.
$=m Устанавливается в набор доменов, знающих об этом хосте, изначально просто $m.
$=n Может быть установлено в набор типов MIME, которые никогда не перекодируются из восьми бит в семь. По умолчанию "multipart/signed". Типы сообщений "message/*" и "multipart/*" никогда не перекодируются напрямую. Сообщения "multipart" взегда обрабатываются рекурсивно. Обработка сообщений "message/*" контролируется классом $=s.
$=q Набор Content-Types, которые не могут быть перекодированы как base64 (если они должны быть перекодированы, они будут перекодированы как quoted-printable). Он может иметь первичные типы types (например, "text") или полные типы (типа "text/plain"). Класс инициализируется содержащим только "text/plain".
$=s Содержит набор подтипов сообщений, с которыми можно обращаться рекурсивно. По умолчанию содержит только "rfc822". Другие типы "message/*" не могут быть перекодированы 8->7 bit. Если сообщение содержит восьмибитные данные, посланные на семибитный хост, и сообщение не может быть перекодировано в семь бит, оно будет обрезано до 7 бит.
$=t Установлен в набор доверенных пользователей строкой конфигурации T. Если вы хотите считывать список доверенных пользователей из файла, используйте Ft/file/name.
$=w Выставлен в набор всех имен, о которых знает хост. Может быть использован для совпадений с локальными именами хостов.

Sendmail может быть скомпилирован с разрешением использовать scanf(3) в строке F. Это позволит вам производить простейший анализ текстовых файлов. Например, чтобы прочитать все имена пользователей из системного файла /etc/passwd в класс, используйте FL/etc/passwd %[^:]

Это будет читать каждую строку до первого двоеточия.




Начало  Назад  Вперед