Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
canonify returns: user < @ my . uudom . ru >
Здесь показана канонизация адреса, заданного в формате UUCP с детализацией 5-го уровня (21 – категория отладки, отвечающая за трассировку правил обработки адресов). Выводится информация не только о том, через какие наборы правил проходит адрес, но и какие действия выполняются.
Для выхода из режима отладки используйте команду «/quit». Полный список доступных команд можно увидеть, введя «?».
Знакомьтесь: m4
Естественно, долго мириться с произволом формата sendmail.cf мало кто хотел, поэтому со временем задача создания этого файла была возложена на макроязык m4. Этот язык является универсальным и пригоден для решения достаточно широкого круга задач, прежде всего связанных с обработкой текста. В частности, он используется в Autoconf. Однако его использование для конфигурации Sendmail является, пожалуй, наиболее известным применением.
Эпиграф к статье как нельзя лучше отражает положение дел с настройками Sendmail. Сначала вы создаёте конфигурационный файл в формате m4 (так называемый «master config», или mc-файл). Затем макропроцессор m4, руководствуясь этим файлом, генерирует cf-файл из входящих в поставку Sendmail шаблонов (макросов). Схематически этот процесс изображён на рис. 2.
Рисунок 2. Схема работы макропроцессора
Фактически, m4 собирает воедино элементы шаблонов согласно опциям, имеющимся в mc-файле. Шаблоны сосредоточены в каталоге /usr/share/sendmail/cf/. В общих чертах синтаксис языка рассматривается во врезке «Введение в m4».
Вносить изменения в шаблоны не рекомендуется (поскольку они будут перезаписываться при обновлении операционной системы или почтового сервера). Все необходимые корректировки лучше делать в mc-файле. В последних версиях FreeBSD по умолчанию используется файл, соответствующий доменному имени вашего сервера. Например, domain.ru.mc. Если у вас такого файла нет, он будет автоматически создан при первом вызове команды make в каталоге /etc/mail, используя при этом как шаблон файл freebsd.mc (при его отсутствии последует ошибка).
Коротко состав mc-файла был рассмотрен в предыдущей части статьи, сейчас чуть подробнее остановимся на наиболее важных опциях:
n include – встроенный макрос для подключения других m4-файлов.
n define – ещё один встроенный макрос языка m4, позволяющий описывать другие макросы. Например, так можно определить макрос LOCAL_MAILER_PATH со значением, содержащим полное имя локального агента доставки:
define(`LOCAL_MAILER_PATH', `/usr/local/bin/dspam')dnl
Ниже представлен пример, позволяющий объявить smtp-агент как «дорогой»:
define(`confCON_EXPENSIVE', `True')
define(`SMTP_MAILER_FLAGS', `e')
n FEATURE – одна из самых востребованных директив. Аналогично рассмотренным в первой части статьи директивам OSTYPE и DOMAIN, подключает соответствующий шаблон из каталога /usr/share/sendmail/cf/feature. Через FEATURE реализуется подключение баз данных (см. в указанном каталоге файлы access_db.m4, use_cw_file.m4, virtusertable.m4 и т. д.), различные «управляющие» директивы, такие как nocanonify (отключение канонизации адреса, что может быть оправдано на серверах, работающих исключительно в режиме транзитной передачи), nodns (не использовать DNS-запросы для разрешения имён) и т. д. Если вам интересно, какой код та или иная «фича» добавляет в cf-файл, ознакомьтесь с содержимым шаблона в указанном выше каталоге.
n MASQUERADE_AS – если вы хотите, чтобы ваш почтовый сервер отправлял почту от имени, отличающегося от имени данного хоста, можно использовать этот макрос. Дополнительно опции (такие как MASQUERADE_EXCEPTION(`host.domain’), FEATURE (`masquerade_envelope’) и др.) позволяют не маскировать указанные хосты, детализовать, какие именно адреса (в заголовке, в конверте или все) должны маскироваться.