# m4 < /etc/mail/linux.mc > /etc/sendmail.cf
На заметку
В некоторых версиях Linux перед тем как приступать к созданию файла sendmail.cfиз исходного файла m4, необходимо установить дополнительный пакет. Например, в Red Hat для создания конфигурационного файла нужен пакет sendmail-cf.
Внимание
Не следует изменять рабочий вариант файла sendmail.cf. Желательно скопировать файл sendmail.cfи исходный файл m4в другой каталог. Если в результате редактирования вы повредите конфигурационный файл, то, используя созданную копию, вы сможете восстановить рабочую конфигурацию sendmail.
После изменения конфигурационного файла необходимо перезапустить sendmail. Во многих версиях Linux sendmailзапускается с помощью сценария SysV, поэтому для перезапуска программы можно использовать опцию restartэтого сценария.
Большинство записей в конфигурационном файле m4задается в следующем формате:
ИМЯ_ХАРАКТЕРИСТИКИ (` опция1 '[, ` опция2 ' [,...])
Имя характеристики — это некоторое содержательное имя, например defineили MASQUERADE_AS. В качестве опций могут быть указаны имена узлов, установки, специфические для sendmail, например always_add_domain, и т.д. В определениях некоторых характеристик одинарные кавычки можно не использовать.
Внимание
Кавычки, в которые помещаются опции, на первый взгляд выглядят несколько странно: в качестве открывающей и закрывающей используются различные типы кавычек. Необходимо следить за правильным их использованием. Если вы укажете в исходном файле обычные одинарные кавычки, то либо файл не будет обработан, либо конфигурационный файл sendmail.cfбудет сформирован некорректно.
Помимо sendmail.cf, программа sendmailтакже использует при работе другие файлы.
• access.db. Этот двоичный файл создается на базе текстового файла access. Файл access.dbопределяет, какие компьютеры могут обращаться к программе sendmail. Конфигурация sendmailв качестве ретранслятора во многом зависит от содержимого этого файла. Многие сценарии запуска sendmailвызывают makemap, и если файл accessизменился с момента последнего создания access.db, автоматически генерируется новый файл access.db.
• aliases.db. Этот двоичный файл также создается на базе текстового файла с аналогичным именем ( aliases). Он определяет псевдонимы — имена, эквивалентные другим именам. Так, например, во многих дистрибутивных пакетах для пользователя rootопределяется псевдоним postmaster. Возможно, вы захотите создать псевдоним для root, чтобы просматривать почту суперпользователя посредством обычной учетной записи. Подобно файлу access.db, при выполнении многих сценариев запуска файл aliases.dbгенерируется автоматически.
Рассмотренные выше файлы обычно размещаются в каталоге /etcили /etc/mail. Кроме того, в этом каталоге находятся другие файлы баз данных, определяющие особенности работы sendmail.
Маскировка адреса sendmail
Если вы хотите, чтобы сервер SMTP объявлял себя посредством имени, отличающегося от имени компьютера, на котором он выполняется, вам необходимо сконфигурировать сервер для выполнения маскировки адреса. Принцип маскировки адреса был описан выше в этой главе. Для активизации механизма маскировки адреса вам надо включить в исходный файл m4 следующие две строки:
MASQUERADE_AS(` требуемый_адрес ')
FEATURE(masquerade_envelope)
Запись MASQUERADE_ASактивизирует базовые средства маскировки, которые включают адрес в поле заголовка From:в случае, если пользовательская программа не задает имя узла. Поскольку большинство почтовых программ корректно заполняет это поле, данное средство в основном используется, если пользовательская программа сконфигурирована неправильно. Запись FEATURE(masquerade_envelope)изменяет поле From:, даже если в нем был задан адрес узла.
Если вы хотите, чтобы маскировка применялась только для сообщений от пользователей определенного домена, вам надо включить дополнительные записи, ограничивающие использование средств маскировки.
MASQUERADE_DOMAIN(` домен-источник ')
FEATURE(`limited_masquerade')
Эти опции сообщают sendmailо том, что маскировка должна применяться для адресов указанного домена-источника. Подобная конфигурация чаще всего устанавливается, если почтовый сервер обслуживает два домена.
Читать дальше