|
|
|||
|
wm-help.net -> Электронная библиотека -> UNIX/Linux -> Руководство Сетевого Администратора Linux -> The sendmail.cf and sendmail.mc FilesThe sendmail.cf and sendmail.mc Files
Файлы sendmail.cf и sendmail.mcМакропроцессор m4 генерирует файл sendmail.df, когда обрабатывает макрофайл конфигурации, созданный локальным администратором системы. Обычно он называется sendmail.mc. Процесс конфигурации, в основном, вопрос создания подходящего файла sendmail.mc, который включает макрокоманды, описывающие желательную конфигурацию. Макрокоманды представляют собой выражения, которые макропроцессор m4 понимает и разворачивает в синтаксис файла sendmail.cf. Макровыражения составлены из макроимени (текст в заглавных буквах в начале), которое может быть уподоблено функции в языках программирования, и некоторых параметров (текст внутри скобок), которые используются в расширении. Параметры могут быть переданы буквально в генерируемый файл sendmail.cf или использоваться, чтобы управлять путем, которым происходит обработка данной макрокоманды в подготовленном файле sendmail.mc. Файл sendmail.mc для минимальной конфигурации (UUCP или SMTP со всей нелокальной почтой, передаваемой на непосредственно связанный интеллектуальный хост (smart host), может быть длиной всего в 10 или 15 строк, исключая комментарии. Два примера файла sendmail.mcЕсли Вы администратор нескольких различных почтовых хостов, не стоит называть Ваш файл конфигурации sendmail.mc. Вместо этого общей традицией является называть файл именем хоста, например, vstout.m4. Имя действительно не имеет значения, пока вывод назван sendmail.cf. Обеспечение уникального имени файла конфигурации для каждого хоста позволяет хранить все файлы конфигурации в одном и том же каталоге. Рассмотрим два примера файлов. Большинство конфигураций sendmail сегодня использует только SMTP. Очень просто сконфигурировать sendmail для SMTP. Пример 18-1 ожидает, что сервер DNS будет доступен и будет пытаться принимать и доставлять всю почту для хостов, используя только SMTP. Пример 18-1. Образец файла настройки vstout.smtp.m4
Файл sendmail.mc для vstout показан в примере 18-2. Машина vstout использует SMTP, чтобы общаться со всеми хостами в LAN. Кроме того, конфигурация для vstout посылает всю почту для других адресатов на межсетевой почтовый хост moria по протоколу UUCP Пример 18-2. Образец файла настройки vstout.uucpsmtp.m4
Если Вы сравните две конфигурации, вполне сможете понять, что делает каждый из параметров конфигурации. Рассмотрим их более детально. Обычно используемые параметры sendmail.mcНесколько элементов в файле sendmail.mc требуются всегда. Другие могут игнорироваться, если Вы можете избежать неприятностей со значениями по умолчанию. Общая последовательность определений в файле sendmail.mc такая:
Комментарии (Comments)Строки в sendmail.mc, которые начинаются с #, не обрабатываются m4 и будут по умолчанию выводиться непосредственно в файл sendmail.cf. Это полезно, если Вы хотите комментировать, что Ваша конфигурация делает. Допустимы комментарии в sendmail.mc, которые не попадут в файл sendmail.cf: Вы можете использовать лексемы m4 divert и dnl. Команда divert(-1) прекратит весь вывод, divert(0) восстановит его к значению по умолчанию. Любой вывод, сгенерированный строками между ними будет отброшен. В нашем примере, мы использовали этот механизм для создания комментария, который появляется только в файле sendmail.mc. Чтобы достичь того же самого результата для одной строки, можно использовать команду dnl, которая означает, буквально, "удаление всех символов следующей строки и перевод на новую строку". Я также использовал это в примере. Это стандартные свойства m4, и Вы можете получить больше информации относительно их из man-страницы. VERSIONID и OSTYPE
Определение OSTYPE должно располагаться поближе к началу файла sendmail.mc, так как много других определений зависят от него. DOMAINМакрокоманда DOMAIN полезна, когда Вы желаете конфигурировать большое количество машин одним способом. Стандартная установка имеет каталог шаблонов макрокоманд m4, используемых, чтобы управлять процессом конфигурации. Этот каталог обычно называется /usr/share/sendmail.cf. Здесь Вы найдете подкаталог, названный domain, содержащий проблемно-зависимые шаблоны конфигурации. Для использования определения DOMAIN, надо создать свой файл, содержащий стандартные определения для соответствующего домена, и вписать его в каталог domain. Пакет исходных кодов sendmail приходит с рядом типовых файлов макрокоманд domain, которые Вы можете использовать как примеры при построении своего. Если Вы сохранили Ваш файл макрокоманды domain как /usr/share/sendmail.cf/domain/vbrew.m4, надо включить в файл sendmail.mc определение:
FEATUREМакрокоманда FEATURE позволяет включить предопределенные свойства sendmail в Вашу конфигурацию. Эти свойства sendmail делают конфигурации очень простыми в использовании. Имеется большое количество свойств, и я расскажу о наиболее полезных и важных. Вы можете узнать подробности о свойствах из файла CF в пакете исходных текстов. Чтобы использовать любое из перечисленных свойств, Вы должны включить в Ваш sendmail.mc строку наподобие:
Локальные макроопределенияСтандартные макрофайлы конфигурации sendmail обеспечивают большое количество обработчиков прерываний и переменных, которыми Вы можете настраивать конфигурацию. Они названы локальными макроопределениями (local macro definitions) . Многие из них перечислены в файле CF в пакете с исходными кодами sendmail. Локальные макроопределения обычно вызываются, по имени с указанием изменяемого параметра. Определение протокола транспортировки почтыЕсли Вы хотите использовать sendmail для передачи нелокальной почты, Вы должны сообщить какой транспорт использовать. Макрокоманда MAILER делает это очень простым. Текущая версия sendmail поддерживает ряд протоколов транспорта почты. Некоторые из них экспериментальны, другие, вероятно, очень редко используются. В нашей сети мы нуждаемся в SMTP транспорте, чтобы посылать и получать почту в локальной сети, и в UUCP транспорте, чтобы посылать и получать почту от нашего интеллектуального хоста. Чтобы достичь этого, мы просто включаем транспорты smtp и uucp. Транспорт local включен по умолчанию, но может быть определен для ясности, если Вы желаете. Если Вы включаете оба транспорта, smtp и uucp, Вы должны всегда убедиться, что определили smtp первым. Обычно используемые транспорты, доступные Вам в макрокоманде MAILER, описаны в следующем списке:
Имеются другие агенты, например, pop, procmail, mail11, phquery и cyrus, которые являются полезными, но менее распространенными. Документация к ним есть в пакете исходных кодов. Настройка маршрутизации почты для локальных хостовКонфигурация Virtual Brewery, вероятно, более сложная, чем требуется для большинства мест. Большинство машин сегодня использовало бы только транспорт SMTP и не работали бы с UUCP вообще. В нашей конфигурации мы настроили "интеллектуальный хост (smart host)", который используется, чтобы обработать всю исходящую почту. Так как мы используем транспорт SMTP в нашей локальной сети, мы должны сообщить sendmail, что он не должен посылать локальную почту через smart host. Макрокоманда LOCAL_NET_CONFIG позволяет Вам вставить правила sendmail непосредственно в sendmail.cf, чтобы изменять путь, которым локальная почта обработана. Позже эти правила будут рассмотрены подробнее, пока же примем тот факт, что любая почта для хоста vbrew.com должна доставляться через SMTP.
|
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.052 |