Mini-howto по перетворенню адрес в sendmail

Цей документ є частиною проекту Linux HOWTO.

Ми також припускаємо, що у вас встановлена ​​досить нова версія програми sendmail, написаної Eric Allman (версія 8.8.8 є поточною, на момент написання документа, і повинна працювати добре).

Цей документ частково посилається на специфічні властивості системи Debian GNU / Linux; користувачі інших дистрибутивів повинні бути обережні.

Переконайтеся, що у вас під рукою знаходиться наступна інформація: # 13;

Файл налаштування, який ми плануємо зробити, ставить перед собою дві головні цілі:

Повинна працювати пересилання пошти між двома будь-якими локальними користувачами.

Щоб цього досягти, скористаємося функцією genericstable.

Ми помістимо всі файли конфігурації sendmail-а в окремий підкаталог каталога / etc. / Etc / mail. Зазвичай, sendmail використовує файли, що знаходяться в / etc. Для того, щоб уникнути можливих проблем, створимо файл символьного зв'язку (symbolic link) /etc/sendmail.cf. вказує на /etc/mail/sendmail.cf.

В директорії / etc / mail будуть знаходитися такі файли:

genericsdomain - містить деяку інформацію про конфігурацію вашого локального хоста (host)

sendmail.cf - файл конфігурації sendmail-а

sendmail.mc - вихідний текст sendmail.cf.

Деякі з цих файлів будуть супроводжуватися файлами з розширенням .db. Вони містять хешировать (hashed) бази даних, безпосередньо використовувані sendmail-му.

4.1. Основний файл конфігурації

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

Давайте розглянемо перші рядки файлу sendmail.mc:

include (/usr/lib/sendmail.cf/m4/cf.m4) VERSIONID ( `sendmail.mc - [email protected] ') 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')

Тут замініть mail-out.your.provider повним ім'ям хоста вашого інтернет-провайдера.

Останні два рядки містять визначення "mailer" -ів, які потрібні sendmail-у для визначення дій, необхідних для роботи з різними видами пошти:

Щоб створити файл sendmail.cf з sendmail.mc. запустіть наступне (в якості root-а):

# M4 sendmail.mc> _sendmail.cf # mv -f _sendmail.cf sendmail.cf

Зауважте, що тут застосована техніка виведення результату в тимчасовий файл, з подальшим перенесенням цього файлу на потрібне місце. Це допомагає запобігти читання частково готового файлу конфігурації sendmail-му.

harry [email protected] maude [email protected] root [email protected] news [email protected]

З міркувань швидкодії, sendmail не використовує цей текст безпосередньо, а спирається на "хешировать" (hashed) версію. Щоб створити її, наберіть:

# Makemap -r hash genericstable.db

4.3. Аліаси (aliases)

Файл алиасов містить локальні імена, які вірні тільки для внутрішньої пошти. Це може бути застосовано для адміністраторів, наприклад root. який отримує автоматично згенерували повідомлення від вашої системи.

Найбільш вдалим початком файлу / etc / mail / aliases може бути приблизно наступне:

root: fred news: root postmaster: root mail: root www: root nobody: / ​​dev / null MAILER-DAEMON: nobody

Як і у випадку з genericstable. файл aliases може містити безліч рядків. Тому буде неефективно sendmail-у використовувати текстовий файл, як описано вище. Для файлу aliases використовується той же механізм, що і для genericstable - генерується хешировать база даних. Замість того, щоб безпосередньо запускати makemap. ви можете набрати команду newaliases. Вона автоматично подбає про все, що потрібно зробити. # 13;

В поставку вихідних текстів sendmail-а входить документація. Прочитайте її, особливо файл cf / README.

Схожі статті