Страница 1 из 4 Exim - сравнительно новый почтовый сервер, MTA, созданный в Кембриджском университете. Идея создателей Exim состояла в том, чтобы значительно меньше внимания уделять выходящим из обращения способам адресации и доставки. Логика доставки почты стала значительно более прозрачной - как и конфигурация системы. Тем не менее, в наличии многие (если не все) современные средства, включая мощные системы автоматизации на основе регулярных выражений, встроенного языка программирования (точнее - нескольких), а также гибкого доступа к внешним базам данных и каталогам для динамического получения списков элементов.
Почтовый сервер Exim идеально подходит для современных выделенных подключений по DSL, поскольку ориентирован на непосредственную доставку без промежуточных стадий. И поскольку DSL распространяется со скоростью эпидемии, то и Exim будет получать все большее распространение.
Сначала - совсем немного теории для тех, кто что-то пропустил. Общая схема почтового сервера выглядит примерно так:
В этой схеме приняты такие общепринятые обозначения:
- MUA, Mail User Agent,- клиентская программа, установленная на компьютере пользователя, с ее помощью пользователь создает и читает почту;
- MTA, Mail Transport Agent,- основная программа доставки почты, передающая почту от клиента на удаленный компьютер. В случае выделенного подключения для этого используется протокол SMTP, но можно также задействовать другие методы доставки, например UUCP;
- DA, Delivery Agent. После получения почты MTA иногда не желает самостоятельно раскладывать почту по ящикам, обрабатывать списки рассылки, передавать почту в программные каналы или файлы. Для таких операций может быть вызван специальный компонент - Delivery Agent;
- AA, Access Agent. В исконном виде задача MTA - доставить почту в почтовые ящики, расположенные в пользовательских каталогах. Но пользователь зачастую желает достать почту из своего каталога (или из хранилища, если DA доставляет ее в хранилище) на сервере. В таком случае необходим Access Agent - программа, которая оперирует почтой уже после того, как она была доставлена в почтовые ящики, но должна быть снова извлечена и переправлена еще куда-то.
С точки зрения Exim все операции доставки делятся на две категории - директоры и маршрутизаторы.
Директор (от direct - прямой, непосредственный) - это тип пересылки, который может быть выполнен локально без привлечения других компьютеров. К таким пересылкам относятся: рассылка писем локальным пользователям в их частные каталоги, запись почтового потока в указанный файл или направление в канал для обработки отдельной программой.
Маршрутизаторы (почтовые маршрутизаторы, не путать с маршрутизаторами пакетов), напротив, предназначены для отправки почты на удаленные компьютеры для последующей доставки. Решение о типе доставки принимается в общем случае на основании анализа почтового адреса получателя - или более точно, на основании нескольких правил, применяемых последовательно. В некоторых случаях доставка может быть циклической - то есть после одной доставки почта снова попадает в очередь и так далее. Общая схема доставки показана на рисунке:
Конфигурация Exim производится через один простой (то есть предназначенный для восприятия человеком) текстовый файл /etc/exim.conf. Впрочем, он не совсем прост: в момент загрузки конфигурации он может пройти стадию препроцессинга, в результате чего в конфигурацию могут быть подставлены макросы, зарезервированные переменные и вычисленные значения. К этому мы еще вернемся в свое время.
Обращаю ваше внимание: в целях совместимости Exim поддерживает многие опции и комманды Sendmail, для чего устанавливает на себя символические ссылки, так что:
/usr/sbin/sendmail -> exim
Но это не значит, что нужно делать:
kill -HUP `pidof sendmail`
а только:
kill -HUP `pidof exim`.
Все параметры в файле конфигурации делятся на семь категорий:
- общие параметры;
- описание транспортов - то есть методов доставки;
- описание директоров - доставка по адресам, которые были квалифицированы как локальные;
- описание для маршрутизаторов, доставка для "всех, кроме локальных" адресов;
- описание возврата для почты, которая не может быть доставлена;
- правила коррекции адресов для подстановки адресов при пересылке;
- параметры SMTP аутентификации для команды AUTH.
Каждая категория (область), кроме последней, завершается словом end. Пустые строки и строки, начинающиеся с #, будут проигнорированы (последние служат для комментариев).
|