Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Mini-HOWTO по преобразованию адресов в sendmail
Пред.След.

Настройка sendmail

Основной файл конфигурации

Sendmail использует очень сложную систему правил для своей конфигурации. Несмотря на то, что с этой системой можно сделать некоторые хитрости, писать файл sendmail.cf с нуля достаточно необычно, и требует больших временных затрат. Если вам интересно все-таки это проделать, вы должны остановить чтение и прочитать вместо этого книгу "Bat Book" автора O'Reilly.

Вместо колдования над этими правилами, мы положимся на макро-процессор m4, чтобы собрать наш конфигурационный файл из готовых частей, поставляемых вместе с sendmail.

Давайте рассмотрим первые строки файла sendmail.mc:

include(/usr/lib/sendmail.cf/m4/cf.m4)
VERSIONID(`sendmail.mc - roessler@guug.de')
OSTYPE(debian)
define(`ALIAS_FILE',`/etc/mail/aliases')

В начале подключается (include) файл cf.m4 Этот m4-макро файл содержит большое количство макро-определений для остальной части файла. Удостоверьтесь, что путь, который вы укажете, верный - тот который написан у нас, типичен для Debian GNU/Linux. Макрос OSTYPE используется для задания некоторых важных значений для конфигурации. Если у вас не Debian, вы должны заменить слово "debian" словом "linux". ALIAS_FILE указываеи sendmail-у, где искать список псевдонимов (alias list).

Следующие строки указывают sendmail-у на использование функции genericstable , а также на файлы конфигурации, необходимые для этого:

FEATURE(masquerade_envelope) FEATURE(genericstable, `hash
-o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') 
Функция masquerade_envelope приводит к тому, что sendmail производит преобразование адреса отправителя в заголовке, взяв его с конверта (envelope). Это тот адрес, куда внешние почтовые системы будут посылать сообщения об ошибках при доставке. Файлы generics* описываются ниже.

Теперь, мы должны определить так называемый "смарт-хост" (smart host), то есть, машину, которая будет обрабатывать почту, исходящую с вашей системы. Заметьте, что это не обязательно POP или IMAP сервер вашего провайдера. Если возникнут затруднения, свяжитесь с горячей линией. Строка в основном файле конфигурации:

define(`SMART_HOST',`mail-out.your.provider')
Здесь замените mail-out.your.provider полным именем хоста вашего интернет-провайдера.

Последние две строчки включают определения "mailer"-ов, которые нужны sendmail-у для определения действий, необходимых для работы с различными видами почты:

MAILER(local)
MAILER(smtp)

Чтобы создать файл sendmail.cf из sendmail.mc, запустите следующее (в качестве root-а):

# m4 sendmail.mc > _sendmail.cf
# mv -f _sendmail.cf sendmail.cf
Заметьте, что здесь применена техника вывода результата во временный файл, с последующим переносом этого файла на нужное место. Это помогает предотвратить чтение частично готового файла конфигурации sendmail-ом.

Преобразование адресов

Сначала, необходимо сообщить sendmail-у, что адреса являются локальными (и поэтому должны быть подвергнуты преобразованию). Это очень просто: просто поместите полное (fully qualified) имя вашего хоста в файл /etc/mail/genericsdomain. Чтобы узнать это имя, наберите:

 $ hostname -f 

Теперь перейдем к правилам преобразования адресов, т.е. к файлу: /etc/mail/genericstable. Этот файл состоит из двух колонок, разделенных пробелами. Первая колонка содержит локальный адрес, вторая колонка содержит почтовый адрес, который должен быть использован вместо локального. Файл выглядит примерно так:

harry	harryx@your.isp
maude	maudey@her.isp
root	fredx@your.isp
news	fredx@your.isp

Заметьте, что должна быт строка для каждого пользователя на локальной машине, чтобы автоматически созданная почта на локальной машине, выходя из системы, содержала правильную информацию в заголовке.

Из соображений быстродействия, sendmail не использует этот текст напрямую, а опирается на "хешированную" (hashed) версию. Чтобы создать ее, наберите:

# makemap -r hash genericstable.db < genericstable

Заметьте, что правила преобразования из файла genericstable не будут воздействовать на локальную почту, или на почту, получаемую извне - эти правила работают только тогда, когда письмо покидает вашу локальную систему, направляясь к смарт-хосту провайдера.

Алиасы (aliases)

Файл алиасов содержит локальные имена, которые верны только для внутренней почты. Это применимо для администраторов, например root, который получает автоматически сгенерированные сообщения от вашей системы.

Наиболее удачным началом файла /etc/mail/aliases может быть примерно следующее:

root: fred
news: root
postmaster: root
mail: root
www: root

nobody: /dev/null
MAILER-DAEMON: nobody

В соответствии с этим, локальная почта для пользователей root, news, postmaster, mail и www передается пользователю fred, а сообщения для nobody и MAILER-DAEMON отправляются в /dev/null.

Как и в случае с genericstable, файл aliases может содержать множество строк. Поэтому будет неэффективно sendmail-у использовать текстовый файл, как описано выше. Для файла aliases используется тот же механизм, что и для genericstable - генерируется хешированная база данных. Вместо того, чтобы напрямую запускать makemap, вы можете набрать команду newaliases. Она автоматически позаботится обо всем, что нужно сделать.


Пред.НачалоСлед.
Расположение файлов Дополнительная информация
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...