Linux exim что это

Обновлено: 07.07.2024


Exim - агент передачи почты (MTA) для хостов, на которых запущена UNIX, или UNIX-like операционная система. Он был спроектирован с учетом, что будет выполняться на хостах, постоянно связанных с интернетом. Однако, он может использоваться и на хостах, которые периодически связываются с Internet, с соответствующей корректировкой конфигурационных настроек.
В настоящее время, конфигурационные файлы существуют для следующих операционных систем: AIX, BSD/OS (иначе - BSDI), Darwin (Mac OS X), DGUX, Dragonfly, FreeBSD, GNU/Hurd, GNU/Linux, HI-OSF (Hitachi), HI-UX, HP-UX, IRIX, MIPS RISCOS, NetBSD, OpenBSD, OpenUNIX, QNX, SCO, SCO SVR4.2 (иначе - UNIX-SV), Solaris (aka SunOS5), SunOS4, Tru64-Unix (formerly Digital UNIX, formerly DEC-OSF1), Ultrix, и Unixware. Некоторые из этих операционных систем более не используются и не могут быть легко проверены, таким образом, конфигурационные файлы, возможно нерабочие.
Также есть конфигурационные файлы для сборки exim в среде Cygwin, которая может быть установлена на системах с работающей ОС Windows. Однако, этот документ не содержит какой бы то ни было информации о работе exim в среде Cygwin.
Сроки и условия для использования и распространения exim содержатся в файле “ NOTICE ” . Exim распространяется в соответствии с GNU General Public Licence, копия которой может быть найдена в файле “ LICENCE ” .
Использование, поставка, или реклама exim для массовой рассылки непрошенной электронной почты несовместимо с основными целями программы, которые сосредоточены вокруг бесплатных сервисов, которые увеличивают качество персональной связи. Автор exim расценивает массовую беспорядочную рассылку электронной почты как антиобщественное, безответственное злоупотребление Интернетом.
Exim многим обязан Smail 3 и его автору, Рону Карру (Ron Karr). Без опыта запуска и работы кода Smail 3, я, возможно, никогда бы и не собрался писать новый MTA. Многие из идей и пользовательских интерфейсов были первоначально взяты от Smail 3, хотя фактический код exim полностью новый, и развился далеко за пределы начальной концепции.
Много людей, и в Кембридже и во всём мире внесли свой вклад в разработку и тестирование exim, а также в портирование его на различные операционные системы. Я благодарен им всем. Дистрибутив, теперь, содержит файл с именем “ ACKNOWLEDGMENTS ” , в котором я начал запись имён всех, кто помог.

1.1 Документация exim

Команда “ man update-exim.conf ” - иной источник debian-специфичной информации.
Поскольку программа развивается, в новых версиях могут быть особенности, которые ещё не внесены в этот документ, обновляемый лишь когда изменяется самая существенная цифра дробной части версии. Спецификации новых возможностей, ещё не находящихся в этом документе, помещены в файл “ doc/NewStuff ” дистрибутива exim.
Некоторые особенности могут быть классифицированы как “ экспериментальные ” . При разработке они могут несовместимо измениться, или вообще быть убраны. Поэтому они не описаны в этом руководстве. Информацию о экспериментальных особенностях можно найти в файле “ doc/experimental.txt ” .
Все изменения в программе (новые особенности, исправления ошибок, или другие изменения) кратко описаны в файле “ doc/ChangeLog ” .
Эта спецификация доступна в качестве ASCII файла “ doc/spec.txt ” , таким образом поиск легко осуществим любым текстовым редактором. Другие файлы в директории “ doc ” :
OptionLists.txt ” - список всех опций в алфавитном порядке
dbm.discuss.txt ” - обсуждение библиотек DBM
exim.8 ” - страница man опций командной строки exim
experimental.txt ” - документация экспериментальных особенностей
filter.txt ” - спецификация языка фильтра
pcrepattern.txt ” - спецификация регулярных выражений PCRE
pcretest.txt ” - спецификация программы тестирования PCRE
Exim3.upgrade ” - примечания обновления с релиза 2 до релиза 3
Exim4.upgrade ” - примечания обновления с релиза 3 до релиза 4
Главная спецификация и спецификация языка фильтрации также доступны в других форматах (HTML, PostScript, PDF, и Texinfo). Раздел 1.6, ниже, описывает как получить их.

1.2 FTP и WEB сайты

1.3 Листы рассылки

1.4 Курсы exim

1.6 Где найти дистрибутив exim

Главный ftp-сайт дистрибутива exim это

Это его зеркало:

Ссылки на файлы даны относительно директории “ exim ” на этом сайте. Также есть много независимых зеркал по всему миру. Те, которые я знаю, перечислены в файле “ Mirrors ” .
Внутри каталога “ exim ” есть подкаталоги с именами “ exim3 ” (для предыдущего дистрибутива exim3), “ exim4 ” (для последнего дистрибутива exim4) и “ Testing ” - для тестовых версий. в подкаталоге “ exim4 ” , всегда может быть найден текущий релиз в файлах с именами:

где “ n.nn ” - самый большой номер версии в директории. Два файла содержат идентичные данные; различие лишь в типе компрессии. Файл “ .bz2 ” , обычно, намного меньше чем “ .gz ” .
В настоящее время, дистрибутивы подписываются GPG ключом Филипа Хазэля. Соответствующий открытый ключ доступен на множестве ключевых серверов, и также скопирован в файл “ Public-Key ” . Подписи для tar находятся в:

Для каждой выпущенной версии, лог изменений доступен отдельно в директории “ ChangeLogs ” , таким образом, можно узнать, что изменилось без необходимости загружать весь дистрибутив.
Главный дистрибутив содержит ASCII версию этой спецификации и другую документацию; другие форматы документации доступны на FTP-сайте, внутри директории “ exim4 ” , в отдельных файлах:

Эти tar-файлы содержат только директорию “ doc ” , а не полный дистрибутив, и также доступны в форматах “ .bz2 ” и “ .gz ” . FAQ доступен для загрузки в двух различных форматах:

Первый из них - один файл ASCII, в котом можно искать текстовым редактором. Второй - директория с HTML файлами, к которой можно обратиться начиная с файла “ index.html ” . HTML-версия FAQ (которая также включена в тарболл с HTML-документацией), включает индекс по ключевым словам, который часто является самым удобным средством поиска.

1.7 Список пожеланий

Список пожеланий поддерживается, он содержит идеи представленных новых возможностей. Время от времени файл экспортируется на FTP-сайт в файл “ exim4/WishList ” . Элементы удаляются из списка по мере их реализации.

1.8 Материалы содействия

На FTP-сайте есть директория с именем “ Contrib ” , содержащая разные файлы, внесённые в сообщество exim`a его пользователями. Также есть коллекция примеров конфигурации в “ exim4/config.samples.tar.gz ” . На эти примеры ссылаются из FAQ.

1.9 Ограничения

1.10 Рабочая (выполняемая) конфигурация

Рабочая конфигурация exim`a находится в одном текстовом файле, разделённом на множество секций. Вхождения, в этом файле, состоят из ключевых слов и значений, в стиле конфигуреционного файла Smail 3. Дефолтовый конфигурационный файл, поставляемый с дистрибутивом, подходит для простых вариантов, и описан далее, в разделе 7.

1.11 Интерфейс вызова

1.12 Терминология

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

В этой статье пойдет речь о создании эффективного почтового сервера на базе MTA exim. Первый вопрос, который, конечно же приходит в голову - "А почему именно exim?". Отвечают на этот вопрос по-разному, поэтому я скажу, что меня так привлекает в exim-е:
- логичная схема обработки почты;
- высокая скорость работы;
- удобный формат конфигурационного файла;
- широчайшие возможности по поиску каких-либо значений в файлах, СУБД, LDAP
- встроенная поддержка smtp-аутентификации
- небольшое число найденных уязвимостей (фактически я знаю только об одной, найденной недавно, она касалась версий exim-a до 4.20 включительно)
- очень большое количество возможностей, а также чрезвычайная гибкость
- возможность полной замены sendmail(т.е. можно сделать ln -sf /usr/local/sbin/exim /usr/libexec/sendmail :-))

На мой взгляд, exim является весьма и весьма удачным продуктом, не зря он используется по умолчанию в ОС Debian GNU Linux. Два больших минуса exim-a состоят в том, что отсутствует качественная документация на русском языке необходимость правки Makefile для включения тех или иных возможностей exim-а.

Итак, для начала подумаем, что должна содержать "идеальная" с точки зрения удобства администрирования и использования почтовая система. Сформулируем ряд требований к почтовой системе:

1) простота управления пользователями
2) возможность предоставления доступа для отправки почты пользователям локальной сети и мобильным пользователям (при помощи smtp аутентификации)
3) максимальная защита от хакерских атак, вирусов и спама
Базовой системой для установки MTA явилась FreeBSD 5.2.1, что обусловило определенные особенности установки.

Перечислю весь набор программного обеспечения для организации mail сервера:
- exim-4.34 - MTA (mail transfer agent - агент передачи почты)
- courier-3.0.4 - imap сервер, для доступа к почте пользователей, не имеющих локальных пользовательских учетных записей (виртуальные пользователи)
- clamav - для поиска вирусов
- spamassasin - для поиска спамерских писем
- postgresql-7.4.2 - для хранения всех данных о пользователях почтовой системы
- squirrelmail - просто приятный веб-интерфейс для почты (требует веб-сервер и php)

Конечно, можно собрать все вышеперечисленные компоненты и вручную, но я не поклонник такого подхода. Во-первых надо очень четко представлять порядок сборки различных компонентов. Во-вторых, необходимо разбираться в куче опций для связки различных библиотек. В-третьих, надо четко представлять себе все пути и знать, каких пользователей надо добавлять. Ну и в-четвертых, это дело очень сложно обновлять. Потому мы воспользуемся услугами системы портов (если у вас, например, Debian GNU Linux, то нужный пакет называется exim4-daemon-heavy). Для этого ставим следующие порты:

- databases/pogstgresql7
- mail/exim (при компиляции необходимо указать следующие опции: make WITH_PGSQL=yo
- mail/p5-Mail-SpamAssassin
- security/clamav
- mail/courier-imap (при компиляции опять же указываем: make WITH_CRAM=yo WITH_POSTGRESQL=yo
- mail/squirrelmail

После сборки всего нужного переходим к стадии настройки. Тут придется затратить порядочное количество времени на настройку всех компонентов почтовой системы, и целью этой статьи является минимизация этого времени :) Итак, начнем с настройки СУБД postgresql, как основы для построения почтовой системы.

Во-первых postgresql работает с правами системного пользователя pgsql (обратите внимание, этот пользователь имеет реальный shell и домашний каталог - /usr/local/pgsql/). Поэтому для начала задаем пароль для данного пользователя:

Далее делаем su pgsql и начинаем создание базы данных:

вводим пароль пользователя pgsql и попадаем в командную строку sql запросов. Для подробного ознакомления с возможностями СУБД, советую обратиться к руководству или же одной из книг.

CREATE DATABASE users;

присоединяемся к данной БД:

создаем таблицу пользовательских аккаунтов, а также constraint'ы для нее:

CREATE TABLE accounts (
uid serial NOT NULL,
login character varying(128),
"password" character varying(128),
maildir character varying(255),
gecos character varying(255),
gid integer DEFAULT 150,
home character varying(255),
mailquota integer DEFAULT 20
);
ALTER TABLE ONLY accounts
ADD CONSTRAINT uid_k PRIMARY KEY (uid);
ALTER TABLE ONLY accounts
ADD CONSTRAINT login_k UNIQUE (login);

создаем таблицу алиасов:

CREATE TABLE aliases (
mail character varying(128) NOT NULL,
alias character varying(128)
);
ALTER TABLE ONLY aliases
ADD CONSTRAINT mail_k PRIMARY KEY (mail);

Поясню назначение таблиц и полей:

Таблица accounts предназначена для хранения данных о виртуальных пользователях почтовой системы, назначение полей:
-uid - уникальный номер пользователя, имеет автоинкрементный тип
-login - строка, содержащая имя пользователя в формате "имя@домен" для возможности доставки почты для пользователей различных доменов
-password - пароль в открытом виде (для возможности безопасной cram-md5 аутентификации)
-maildir - путь к постовому ящику в формате maildir
-gecos - комментарий (для чего-нибудь, да пригодится :) )
-gid - идентификатор группы (не нужен реально, но зачем-то требуется для courier'а)
-home - аналогично gid
-mailquota - число в мегабайтах, указывающее квоту для пользователя

Таблица aliases представляет собой просто замену /etc/aliases, содержит два поля - mail (исходный адрес) и alias (адрес для перенаправления).

После этого будем считать, что postgresql у нас работает. Однако, для полного использования возможностей этой СУБД лучше почитать документацию.

Далее перейдем к настройке собственно MTA exim. Конфигурационный файл для версии "из портов" хранится в /usr/local/etc/exim/configure. Для начала я бы хотел пояснить значение некоторых терминов и рассказать о базовых принципах работы exim'a.

Сеанс работы с MTA может предваряться "приветствием" - стандартным (HELO) и расширенным (EHLO). В приветствии должно указываться FQDN клиента, хотя, по ряду причин, не стоит слишком строго следить за именно
FQDN, т.к. многие машины могут находиться за NAT'ом. MTA в ответ на HELO или EHLO сообщает о своих возможностях, обеспечивая тем самым синхронизацию клиента и сервера.

Далее exim осуществляет проверку целевых адресов на предмет их допустимости для данного сервера. Этот этап может предваряться аутентификацией и установкой TLS-сессии. Если пользователь прошел какой-либо из этих этапов, ему присваиваются определенные флаги, которые в дальнейшем могут использоваться на этапе проверки конверта.

По умолчанию exim осуществляет проверку недопустимых символов в адресах и позволяет отпарвлять почту только из локальных доменов и только на локальные домены. Кроме того, при успешной аутентификации письмо
проходит и в интернет. Для остальных писем релей (передача писем) запрещена. Все проверки в exim4 осуществляются на основании механизма acl (access control list - список доступа).

Также может осуществляться проверка данных (этот механизм добавляется при установке патча exiscan, который при установке портов уже ставится).
После успешной прохождения этого этапа exim просматривает rewrite правила, для переписывания отдельных частей конверта (может использоваться в целях перенаправления всех писем на какой-либо смарт-хост, например).

Далее письмо попадает на цепочку так называемых "роутеров", которые определяют, как именно доставлять письмо. Среди роутеров фигурирует dnslookup, доставляющий письма на основании MX записей в DNS, проверка файла алиасов и .forward файлов ну и локальная доставка. Каждый роутер имеет некое условие срабатывания и соответствующий транспорт. При выполнении условия, exim выбирает указанный транспорт для доставки письма, иначе письмо проходит на следующий роутер (поэтому важен порядок описания роутеров в конфигурационном файле).

Транспорты же определяют порядок доставки письма. Таким образом, настройка exim'а состоит из нескольких частей:

-настройка глобальных параметров
-настройка acl's
-настройка роутеров
-настройка транспортов
-настройка аутентификаторов
-настройка очереди
-настройка rewrite правил

В настройке exim'а широко используются различные списки (hostlist, domainlist и dnslist) и так называемые lookup'ы, при помощи которых exim извлекает данные из внешних источников.

Многие мои знакомые, пытаясь освоить exim, считали lookup'ы самой запутанной темой, потому я остановлюсь на этом вопросе чуть подробнее.
Существует два типа поиска: поиск по одному ключу (single-key) и поиск по запросу (query). Первый используется для поиска в локальных файлах, а второй - в различного рода базах (sql, ldap и прочее). Любые lookup'ы могут быть вложенными, то есть в одном поиске используются результаты другого.

Поиск на основе single key строится примерно так:

особо следует отметить расставление фигурных скобок. Если вы знакомы с функциональными языками, вроде лиспа, то такой синтаксис для вас будет привычен, иначе просто нужно считать каждую конструкцию списком, который обрабатывает exim. Тогда все строковые и другие константы тоже заключаются в фигурные скобки.
То есть вышеприведенный пример можно рассматривать как
$список -> $ -> $ driver>.

При этом сам файл, в котором осуществляется поиск должен выглядеть так:

Приведу более конкретный пример - построение списка доменов из файла на основании адреса отправителя (пример из документации):

при этом сам файл должен выглядеть следующим образом:

192.168.3.4: domain1 : domain2 : .
192.168.1.9: domain3 : domain4 : .

При этом поиск осуществляется по первому полю.

Отличие query-style поиска в том, что мы явно не указываем, что искать, указывая вместо этого запрос. Так, например выглядит типичный запрос к sql базе:

При успешном выполнении запроса возвращается значение из базы, иначе выполняется специальное действие fail, означающее неудачный запрос.
Несколько пугающими бывают запросы к ldap. Разберу их поподробнее.
уазание сервера и порта ldap выглядит следующим образом:

запросы к директории выглядят так:

Форма запроса описана в стандарте, но, думаю, ее стоит дополнительно пояснить.

Когда требуется аутентификация на сервере, тогда просто указываем нечто вроде

Заметьте необходимость замены пробелов на %20, как того требует стандарт.

Думаю, для дальнейшего понимания статьи, этого вполне достаточно.

Итак, собственно конфигурационный файл exim'a. Кое-где я добавил свои комментарии, чтобы улучшить понимание различных директив.

При этом все поля сертификата будут запрошены. Учтите, что файл секретного ключа не должен быть зашифрован, иначе exim не сможет его прочитать, просто установите владельцем этого файла root:wheel и установите права 0600.

После этого можно попробовать запустить exim в режиме отладки:

Далее настраиваем доставку почты для локальных приложений через exim, для чего файл /etc/mail/mailer.conf у нас должен выглядеть следующим образом:

sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim

Далее перейдем к настройке clamav: заходим в /usr/local/etc/ и копируем clamav.conf.sample в clamav.conf и правим его таким образом, чтобы он принимал соединения через tcp/ip, а не через локальный сокет, для чего в clamav.confнужны
следующие строки:

TCPSocket 3310
TCPAddr 127.0.0.1

Далее копируем freshclam.conf.sample в freshclam.conf. Этот файл указывает настройки для программы freshclam, использующейся для обновления антифирусных баз clamav.

SpamAssasin работает без дополнительных настроек.

Перейдем к следующей части - настройка courier'a. Этот imap сервер для своей работы использует несколько процессов, которые, в свою очередь, настраиваются из различных конфигурационных файлов. В моем примере запущено 3 процесса - authdaemon, courier-imapd и courier-imapd-ssl. Причем во внешний мир открыт
только courier-imapd-ssl. Для начала создадим сертификат для imapd-ssl и для TLS соединений с imapd:

правим файл /usr/local/etc/couier-imap/imapd.cnf на предмет своего dn для сертификата, для чего в части req_dn прописываем свои настройки (не забудте, что cn должен совпадать с FQDN imap сервера):

Далее генерируем сертификат специальным скриптом:

cd /usr/local/share/courier-imap/
./mkimapdcert

После чего настроим imap аутентификацию:
cd /usr/local/etc/courier-imap/
cp authdaemonrc.dist authdaemonrc
далее в authdaemonrc заменяем список модулей для аутентификации на:

Теперь courier знает, что ему нужно аутентифицироваться через pgsql. Надо только настроить сам pgsql модуль, настройки которого хранятся в authpqsqlrc. Он должен содержать следующее:

Перейдем к настройке непосредственно imapd:
скоприуем imapd.dist в imapd. Правим следующие строчки (для остальных настроек
вполне подходят значения по умолчанию):

Этих настроек, в принципе, хватает. Далее копируем imapd-ssl.dist в imapd-ssl и
правим следующие строчки:

После чего делаем запуск courier-imap при старте системы. Для этого заходим в /usr/local/etc/rc.d и снова немного попереименовываем файлы:

После этого считаем, что наша почтовая система практически готова. Нужно только немного понастраивать squirrelmail для чего заходим в /usr/local/www/squirrelmail и запускаем скрипт ./configure. В принципе, интерфейс конфигурации понятен без лишних пояснений, потому я не буду особо останавливаться на этой проблеме (не забудьте, главное, указать imap и smtp сервера). Делаем симлинк на /usr/local/www/squirrelmail из какого-либо VirtualHost'а или из под непосредственно DocumentRoot самого apache. Вот, в принципе, и все.

Есть некоторые особенности запуска squirrelmail в при включенном safe_mode в php. Во-первых все php файлы и каталоги squirrelmail должны принадлежать тому пользователю, из под которого работает apache (настройка VirtualHost или глобальная, по умолчанию - www:nogroup). Кроме того необходимо сменить разрешения в /var/spool/squirrelmail:

Файл конфигурации

Основные настройки почтового сервера Exim находятся в конфигурационном файле. Вы можете найти его по одному из путей:

Если там его нет, проверьте наличие файла exim4.conf.template / exim.conf.template . Перейдите в директорию с этим файлом, после чего скопируйте его в правильный файл конфигурации:

cp -pr exim4.conf / cp -pr exim.conf

Как изменить порты

Узнать, какие порты Exim слушает по умолчанию, можно с помощью команды:

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

Внесите необходимые изменения и перезапустите почтовый сервер одной из команд:

Снова проверяем список прослушиваемых портов, чтобы убедиться, что изменения приняты.

Как изменить IP-адрес, с которого отправляется почта

Вы можете настроить отправку почты как с одного IP-адреса для всех доменов сервера, так и с разных IP для каждого домена.

Один IP-адрес для всех доменов сервера

В файле конфигурации в секции transports добавьте строку:

Где 188.120.24.34 — необходимый IP-адрес.

После внесения изменений перезапустите почтовый сервер одной из команд:

Разные IP-адреса для разных доменов

В файле конфигурации в секции transports должна быть строка следующего вида:

Откройте файл, указанный в пути:

Укажите IP-адреса для нужных доменов:

После внесения изменений перезапустите почтовый сервер одной из команд:

Чтобы проверить, что вы всё сделали верно, отправьте письмо на ваш личный (внешний) почтовый ящик и просмотрите заголовки.

Как ограничить количество исходящих писем

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

Через терминал

Откройте файл конфигурации и настройте директиву следующим образом:

Перезагрузите почтовый сервер, чтобы изменения вступили в силу:

В итоге выставляется ограничение в 50 писем в час для почты, отправленной не по SMTP (например, через PHP mail), и в 100 писем для отправки через SMTP. В файле /etc/exim/whitelist создается белый список хостов, на которые лимит не действует.

Если вы хотите ограничить отправку писем от определённых почтовых доменов, в конфигурационном файле необходимо добавить раздел перед begin acl :

Перезагрузите почтовый сервер, чтобы изменения вступили в силу:

В файле /etc/exim/deny.domains укажите домены или почтовые ящики, с которых будет блокироваться отправка писем:

Через панель управления ISPmanager 5 Business

ISPmanager Business (в Lite данного функционала нет) позволяет указать для каждого пользователя максимальное количество писем, которое может быть отправлено с каждого почтового ящика этого пользователя в час.

Заходим в раздел Учетные записи — Пользователи — выделяем нужного пользователя и нажимаем кнопку Изменить . В поле Количество отправляемых писем выставляем ограничение и нажимаем кнопку Ок , чтобы применить изменения.


Exim - агент передачи почты (MTA) для UNIX или UNIX-подобных операционных систем. Он был спроектирован с расчётом, что будет выполняться на хостах, постоянно соединённых с Интернетом, однако он может использоваться и в системах, не имеющих постоянного подключения к Интернету, после соответствующего изменения настроек.
В настоящее время конфигурационные файлы существуют для следующих операционных систем: AIX, BSD/OS (иначе - BSDI), Darwin (Mac OS X), DGUX, Dragonfly, FreeBSD, GNU/Hurd, GNU/Linux, HI-OSF (Hitachi), HI-UX, HP-UX, IRIX, MIPS RISCOS, NetBSD, OpenBSD, OpenUNIX, QNX, SCO, SCO SVR4.2 (иначе - UNIX-SV), Solaris (aka SunOS5), SunOS4, Tru64-Unix (formerly Digital UNIX, formerly DEC-OSF1), Ultrix, и Unixware. Некоторые из этих операционных систем более не используются и работоспособность конфигурационных файлов для них не может быть легко проверена. Поэтому имейте в виду, что они, возможно, нерабочие.
Также есть конфигурационные файлы для сборки exim в среде Cygwin, установленной на системах под управлением ОС Windows. Однако этот документ не содержит какой бы то ни было информации о работе exim в среде Cygwin.
Условия и ограничения на использование и распространение exim содержатся в файле “ NOTICE ” . Exim распространяется в соответствии с GNU General Public Licence, копия которой может быть найдена в файле “ LICENCE ” .
Использование, поставка, или реклама exim для массовой рассылки нежелательной электронной почты несовместимы с основными целями программы, которые сосредоточены вокруг бесплатных сервисов, увеличивающих качество персональной связи. Автор exim расценивает массовую беспорядочную рассылку электронной почты как антиобщественное, безответственное злоупотребление Интернетом.
Exim многим обязан Smail 3 и его автору, Рону Карру (Ron Karr). Без опыта запуска и работы с кодом Smail 3, я, возможно, никогда бы и не собрался писать новый MTA. Многие из идей и пользовательских интерфейсов были первоначально взяты из Smail 3, хотя актуальный код exim является полностью новым и развился далеко за пределы начальной концепции.
Много людей и в Кембридже, и во всём мире внесли свой вклад в разработку и тестирование exim, а также в портирование его на различные операционные системы. Я благодарен им всем. Дистрибутив теперь содержит файл с именем “ ACKNOWLEDGMENTS ” , в котором я начал запись имён всех, кто помог.

1.1 Документация exim

Команда “ man update-exim.conf ” - ещё один источник специфической для debian информации.
Поскольку программа развивается, в новых версиях могут быть особенности, которые ещё не внесены в этот документ, обновляемый при изменении версии exim'a. Спецификации новых возможностей, не включённые в этот документ, помещены в файл “ doc/NewStuff ” дистрибутива exim.
Некоторые возможности классифицируются как “ экспериментальные ” . В ходе разработки они могут несовместимо измениться, или вообще быть убраны. Поэтому они не описаны в этом руководстве. Информацию об экспериментальных возможностях можно найти в файле “ doc/experimental.txt ” .
Все изменения в программе (новые возможности, исправления ошибок, и т.п.) кратко описаны в файле “ doc/ChangeLog ” .
Эта спецификация доступна в качестве ASCII файла “ doc/spec.txt ” , таким образом его просмотр легко осуществим любым текстовым редактором. Другие файлы в директории “ doc ” :
OptionLists.txt ” - список всех опций в алфавитном порядке
dbm.discuss.txt ” - обсуждение библиотек DBM
exim.8 ” - man-страница опций командной строки exim
experimental.txt ” - документация экспериментальных возможностей
filter.txt ” - спецификация языка фильтра
Exim3.upgrade ” - примечания обновления с релиза 2 до релиза 3
Exim4.upgrade ” - примечания обновления с релиза 3 до релиза 4
Главная спецификация и спецификация языка фильтрации также доступны в других форматах (HTML, PostScript, PDF, и Texinfo). Раздел 1.6 ниже описывает как получить их.

1.2 FTP и WEB сайты

1.3 Листы рассылки

1.4 Курсы exim

1.6 Где найти дистрибутив exim

Главный ftp-сайт дистрибутива exim это

Это его зеркало:

Ссылки на файлы даны относительно директории “ exim ” на этом сайте. Также есть много независимых зеркал по всему миру. Те, которые я знаю, перечислены в файле “ Mirrors ” .
Внутри каталога “ exim ” есть подкаталоги с именами “ exim3 ” (для предыдущего дистрибутива exim3), “ exim4 ” (для последнего дистрибутива exim4) и “ Testing ” - для тестовых версий. в подкаталоге “ exim4 ” , всегда может быть найден текущий релиз в файлах с именами:

где “ n.nn ” - самый большой номер версии в директории. Два файла содержат идентичные данные; различие лишь в типе компрессии. Файл “ .bz2 ” обычно намного меньше чем “ .gz ” .
В настоящее время дистрибутивы подписываются GPG ключом Nigel Metheringham'a. Соответствующий открытый ключ доступен на множестве ключевых серверов, и также скопирован в файл “ nigel-pubkey.asc ” . Подписи для tar находятся в:

Для каждой выпущенной версии лог изменений доступен отдельно в директории “ ChangeLogs ” , таким образом об изменениях можно узнать без необходимости загружать весь дистрибутив.
Главный дистрибутив содержит ASCII версию этой спецификации и другую документацию; другие форматы документации доступны на FTP-сайте, внутри директории “ exim4 ” , в отдельных файлах:

Эти tar-файлы содержат только директорию “ doc ” , а не полный дистрибутив, и также доступны в форматах “ .bz2 ” и “ .gz ” .

1.7 Ограничения

1.8 Рабочая (выполняемая) конфигурация

Рабочая конфигурация exim`a находится в одном текстовом файле, разделённом на множество секций. Элементы (записи) этого файла состоят из ключевых слов и значений в стиле конфигуреционного файла Smail 3. Дефолтовый конфигурационный файл, поставляемый с дистрибутивом, подходит для простых вариантов и описан далее в разделе 7.

1.9 Интерфейс вызова

1.10 Терминология

Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

Читайте также: