За создание классов sendmail отвечают команды С и F. Класс подобен массиву значений. Классы используются во всех случаях, когда необходимо одинаковым образом обрабатывать однородные значения, такие как различные имена локального узла или имена узлов ииср. Классы позволяют sendmail выполнять сравнение сразу со списком значений, а не с отдельными значениями.
С классами используются специальные символы шаблонов. Символ $= соответствует любому значению в классе, тогда как символ является маской любого значения, не входящего в класс. (Подробнее о поиске по шаблонам поговорим позже.)
Подобно макроопределениям, классы имеют односимвольные имена либо длинные имена, заключенные в фигурные скобки. В пользовательских классах используются длинные имена, не конфликтующие с внутренними именами sendmail. (Полный перечень имен внутренних классов sendmail приводится в приложении Е.) Значения класса могут определяться в одной строке, в нескольких строках либо загружаться из файла. Например, для определения всех имен узлов, под которыми известен локальный узел, используется класс w. Чтобы поместить в класс w значения goober и pea, можно указать значения в одной строке следующим образом:
Cwgoober pea
Или в нескольких строках:
Cwgoober Cwpea
Кроме того, можно использовать команду F для загрузки значений класса из файла. Команда F читает файл и записывает найденные слова в переменную класса. Например, чтобы создать класс w и присвоить ему все строки из файла /etc/mail/local-host-names, воспользуйтесь такой командой:
Fw/etc/mail/local-host-names
При создании файла sendmail.cf вам может понадобиться изменить некоторые определения классов. В операторах классов часто фигурирует информация, связанная с uucp, псевдонимами узлов, а также специальными доменами для маршрутизации почты. Если в вашей системе наряду с подключением TCP/IP задействовано подключение uucp, обратите особое внимание на определения классов. В любом случае внимательно проверьте определения классов и убедитесь, что они соответствуют вашей конфигурации. Вот результат поиска строк команд С и F в примере файла настройки для Linux:
% grep '^[CF]' generic-linux.cf Cwlocalhost Fw/etc/mail/local-host-names CP. CO @ % ! C.. C[[ FR-o /etc/mail/relay-domains C{E}root CPREDIRECT
- Назад
- Вперёд >>