Структура большинства файлов sendmail.cf более-менее одинакова, поскольку они создаются на основе стандартных определений ш4.
Поэтому файлы из вашей системы, скорее всего, схожи с теми, что фигурируют в наших примерах. В некоторых системах структура может отличаться, но функциональность описанных здесь разделов так или иначе присутствует в большинстве файлов sendmail.cf.
Файл Linux generic-linux.cf послужит нам примером для изучения структуры файла sendmail.cf. Названия разделов из файла примера использованы ниже, в обзоре структуры sendmail.cf. Эти разделы будут описаны более подробно, когда мы займемся изменением настроек. Итак, разделы:
Локальная информация (Local Information) - Определяет информацию, специфичную для отдельного узла. В файле generic-linux.cf раздел Local Information содержит определения имени узла, имен узлов пересылки почты, а также почтового домена. В этом же разделе определено имя, которым представляется sendmail при передаче сообщений об ошибках, сообщение, отображаемое sendmail при SMTP-регистрации, а также номер версии файла sendmail.cf. (Увеличивайте номер версии каждый раз, когда вносите изменения в настройки.) Этот раздел обычно подвергается изменениям при настройке.
Параметры (Options) - Определяет параметры sendmail. Обычно не требует изменений.
Старшинство сообщений (Message Precedence) - Определяет значения старшинства для различных сообщений, используемые sendmail. Не подвергается изменениям.
Доверенные пользователи (Trusted Users) - Определяет пользователей, которым разрешено переопределять адрес отправителя при отправке почты. Не подвергается изменениям. Добавление пользователей в этот раздел - потенциальная угроза безопасности.
Формат заголовков (Format of Headers) - Определяет формат заголовков, добавляемых sendmail к сообщениям. Не подвергается изменениям.
Правила подстановки (Rewriting Rules) - Определяет правила перезаписи почтовых адресов. Раздел содержит общие правила перезаписи, используемые sendmail, а также другие правила подстановки. В ходе начальной настройки sendmail данный раздел не подвергается изменениям. Правила подстановки обычно редактируются только с целью разрешения проблемы или добавления новой службы.
Определения почтовых программ (Mailer Definitions) - Определяет инструкции, используемые sendmail для вызова программ доставки почты. Также раздел содержит правила подстановки, связанные с конкретными почтовыми программами. Определения почтовых программ обычно не подвергаются изменениям, однако связанные с ними правила подстановки могут редактироваться в целях разрешения проблем или добавления новых служб.
Метки заголовков в файле примера из вашей системы могут отличаться от приводимых здесь, но структура файла, скорее всего, схожа с описанной в следующих аспектах:
- Информация частной настройки узла, вероятно, располагается в начале файла.
- Команды одного типа (настройки параметров, заголовков и т. д.) обычно группируются.
- Большую часть файла составляют правила подстановки.
- Последняя часть файла, вероятно, содержит определения почтовых программ вперемешку с правилами подстановки для отдельных почтовых программ.
Изучите комментарии своего файла sendmail.cf. Иногда эти комментарии содержат сведения, позволяющие проникнуть в структуру файла и разобраться с элементами настройки системы.
Важно осознавать, насколько малы изменения, вносимые в sendmail.cf при настройке средней системы. Выбрав правильный исходный файл примера, вы сможете обойтись изменением всего нескольких строк в первом разделе. С этой точки зрения настройка sendmail начинает казаться примитивной задачей. Так почему же она пугает системных администраторов? Преимущественно из-за сложного синтаксиса языка настройки sendmail.cf.