Базовая настройка программы sendmail с использованием конфигуратора выполняется очень просто и обычно устраивает всех.., до тех пор, пока вашим почтовым сервером не заинтересуются спамеры. Для более тонкой настройки нужно ознакомиться с файлами конфигурации программы sendmail.
14.1.2. Редактирование конфигурационных файлов
Обычно для редактирования файла
sendmail.cf
используется макропроцессор m4. Сначала вы подготавливаете специальный mc-файл, где записаны настройки sendmail в более «читабельном» виде. Затем, отредактировав mc-файл, нужно запустить макропроцессор m4 для создания файла конфигурации sendmail:
# mv /etc/sendmail.cf /etc/sendmail.cf.orig
# m4 my_config.mc > /etc/sendmail.cf
Файл конфигурации по умолчанию, который используется макропроцессором m4
для создания файла конфигурации программы sendmail (sendmail.cf), находится в каталоге
/usr/share/sendmail-cf/cf
. В более старых версиях программы sendmail он может быть расположен в каталоге
/usr/lib/sendmail
.
Как правило, этот файл называется
sendmail.mc
. Иногда он может называться и по-другому, например,
redhat.mc
, если вы используете операционную систему Red Hat или совместимую с ней.
Пример стандартного файла
/usr/share/sendmail-cf/cf/redhat.mc
приведен в листинге 14.1.
Листинг 14.1. Стандартный файл redhat.mc
divert(-1)
dnl This is the sendmail macro config file. If you make changes to this file,
dnl you need the sendmail-cf rpm installed and then have to generate a
dnl new /etc/sendmail.cf by running the following command:
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that do
dnl not have 24x7 DNS do need this.
FEATURE(`accept_unresolvable_domains')dnl
dnl FEATURE(`relay_based_on_MX')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain
С
помощью директивы FEATURE можно подключить ту или иную функцию программы sendmail. Например, функция mailertable предназначена для переопределения маршрутизации для конкретных доменов. Вы можете легко расширить функциональные возможности программы sendmail, добавив нужные вам функции в mc-файл.
Предположим, вы хотите, чтобы названия компьютеров домена были скрыты. Это легко достигается с помощью добавления функции masquerade_envelope в ваш mc-файл. Для этого скопируйте файл
Вот и все! Названия узлов будут скрыты. Описание прочих функций представлено в таблице 14.1.
Функции программы sendmail Таблица 14.1
Функция
Описание
access_db
Определяет таблицу доступа. В этой таблице указаны узлы, которым разрешена или запрещена отправка почты через ваш почтовый сервер. Эта функция эффективно используется для борьбы со спамом
accept_unresolvable_domains
Разрешает отправлять почту доменам, которые не могут быть распознаны
bestmx_is_local
Сообщения будут приниматься только а том случае, если запись MX сервера DNS указывает на этот почтовый сервер
blacklist_recipients
«Черный список». Еще одна функции дли борьбы со спамом. Для ее работы необходима функция access_db
dnsbl
Используется дли работы с «черным списком», dnsbl — это сокращение от DNS Black List. В более ранних версиях эта опция называлась rbl (Resolve Black List)
domaintable
Используется для разрешения имен доменов
genericstable
Используется для изменения адреса отправки в сообщениях
local_procmail
Указывает, что доставлять почту нужно с помощью локальной утилиты procmail
mailertable
Переопределяет маршрутизацию для конкретных доменов
masquerade_entire_domain
Используется для маскировки (сокрытия) всего домена. Данная функция должна использоваться вместе с директивой MASQUERADE_AS (или MASQUERADE_DOMAIN), например, MASQUERADE_AS(f117.ru)dnl
masquerade_envelope
Позволяет скрыть имена узлов домена. Заменяет поле received from заголовка сообщения перед передачей сообщения другим MTA
redirect
Используется для перенаправления на другой почтовый сервер. Означает отказ от принятия почты с выдачей сообщения please try <address> (попытайтесь использовать этот адрес)
relay_based_on_MX
Разрешает перенаправление (ретрансляцию) почты только для узлов, которые указаны в записях MX сервера DNS
relay_hosts_only
Разрешает ретрансляцию только для узлов, указанных в access_db
relay_mail_from
Разрешает ретрансляцию, только если отправитель указан в списке RELAY базы access_db
smrsh
Использование ограниченной оболочки sendmail
use_cf_file
При указании этой функции sendmail будет обращаться к файлу
sendmail.cf
за списком доверенных пользователей
use_cw_file
При указании этой функции sendmail будет обращаться к файлу
sendmail.cw
за списком локальных узлов
virtuserlable
Преобразует адрес получателя в адрес локального пользователя