Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n MAILER – подключает шаблон, отвечающий за работу того или иного почтового агента, из каталога cf/mailer. В этих шаблонах определяются имена и флаги соответствующих утилит, наборы правил обработки адресов и M-строки конфигурационного файла. Директивы MAILER должны быть указаны после всех остальных, в конце mc-файла.
Кстати, поскольку mc-файл – это обычный файл в формате m4, то он может содержать помимо макроопределений и собственно входные данные. При необходимости вы можете указать нужные cf-строки прямо здесь (хорошим примером является mc-файл основного разработчика Sendmail Эрика Олмана – /usr/share/sendmail/cf/cf/knecht.mc).
Последовательность подключения различных шаблонов можно найти в самом начале cf-файла – обратите внимание на строки, начинающиеся с «#### $Id:». Самым первым подключается cfhead.m4, в котором определены основные макросы.
Если быть точным, то в команде m4 подключается cf.m4 – вручную создание cf-файла обычно запускается такой командой:
m4 /usr/share/sendmail/cf/m4/cf.m4 domain.ru.mc > domain.ru.cf
Но одной из первых директив cf.m4 значится следующая:
ifdef(`OSTYPE', `dnl',`include(_CF_DIR_`'m4/cfhead.m4)dnl
Которая и выполняет подключение cfhead.m4. При желании вы можете включить cf.m4 непосредственно в mc-файл (с помощью макроса include), чтобы не указывать его в командной строке. Но во FreeBSD это не требуется – make сделает всё, что нужно.
Файлы специального назначения
В первой части мы бегло окинули взглядом содержимое каталога /etc/mail. Настало время познакомиться с расположенными в нём конфигурационными файлами и их задачами более подробно.
Файл aliases
Файл псевдонимов служит для сопоставления адреса электронной почты с конкретным получателем. По умолчанию, Sendmail работает с системными пользователями. То есть если у вас есть пользователь admin, то автоматически для него создаётся одноимённый почтовый ящик. Однако в ряде случаев необходимо (или просто удобно) перенаправить входящую почту, направленную на тот или иной адрес, другому пользователю. Например, работа с почтой с правами root – не самая лучшая идея. А как же тогда читать системные сообщения, которые традиционно отправляются на этот адрес? Ответ можно увидеть в файле aliases:
root: admin
bin: root
bind: root
. . . пропущено . . .
uucp: root
abuse: root
security: root
ftp: root
Формат достаточно прост: слева – почтовый адрес, на который направляется письмо, справа – адрес, куда письмо следует перенаправить.
Приведённый фрагмент показывает, что по умолчанию почта «служебных» пользователей будет перенаправляться пользователю root, в то время как почта пользователя root уйдёт в ящик администратора admin (это следует задать вручную).
Всё работает правильно благодаря тому, что подстановка псевдонимов выполняется рекурсивно – после первой замены осуществляется ещё один «прогон» с новым адресом, и так далее, пока не будет выполнено ни одной подстановки. Кстати, чтобы не допустить бесконечной подстановки в случае ошибки, когда образуется петля псевдонимов, полезно использовать опцию «O MaxAliasRecursion», которая задаёт максимальное число «проходов» по списку (в mc-файле задаётся как define(`confMAX_ALIAS_RECURSION’)).
В правой части может находиться не только один пользователь. Перенаправление может выполняться для нескольких пользователей (они разделяются запятыми), на адрес в другом домене, на список адресов, указанный в файле (подключается с помощью конструкции «:include: <имя_файла>»).