RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.

1. Введение

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 (SunOS 5), SunOS 4, 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

Эта редакция спецификации exim применима к версии 4.63. Независимые изменения от версии 4.62 отмечены в некоторых вариантах документа, этот параграф отмечен таким же образом, если версия документа способна отображать изменения.

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

Более лёгкое обсуждение Exim, с более многосторонними обяснительными и вводными материалами может быть найдено в книге The Exim SMTP Mail Server, изданной в Кембридже ( http://www.uit.co.uk/exim-book/).

Также, эта книга содержит главу, дающую общее введение в SMTP и интернет-почту. Однако, неизбежно, что книга вряд ли будет полностью совместима с последним выпуском exim. Отметьте, что более ранняя книга об exim, изданная O'Reilly, посвящена exim 3, а много тонкостей изменились в exim4.

Если Вы используете exim из дистрибутива debian, можете найти информацию об особенностях этого дистрибутива в файле /usr/share/doc/exim4-base/README.Debian. Команда 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-сайты

Главный сайт исходных кодов exim, в настоящее время, FTP-сайт университета Кембрижда, содержание которого описано ниже, в Где найти дистрибутив exim. Кроме того, есть веб и ftp-сайт exim.org. Также, сейчас здесь хостится университет Кембриджа. Раньше сайт exim.org хостился много лет на Energis Squared, ранее Planet Online Ltd, за поддержку которого я благодарен.

Кроме файлов tar, дистрибутива exim, веб-сайт exim содержит множество различно отформатированых версий документации, включая FAQ в HTML и текстовом форматах. Версия HTML идёт с индексным файлом ключевых слов. Недавнее дополнение к онлайн-документации exim: wiki ( http://www.exim.org/eximwiki/). Мы надеемся, что это облегчит внесение примеров, подсказок и хав-ту пользователей exim.

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

Это три главных листа расылки exim: exim-users@exim.org общий список обсуждения exim-dev@exim.org обсуждение ошибок, расширений и т.п. exim-announce@exim.org модерируемый небольшой по объёму список анонсов

Вы можете подписаться на эти списки, изменить ваши существующие подписки, просматривать или искать в архивах по ссылке на список рассылки на домашней странице exim. Если вы используете exim из дистрибутива debain, вы можете подписаться на дебиан-специфичную рассылку pkg-exim4-users@lists.alioth.debian.org.

1.4. Курсы exim

Время от времени (приблизительно ежегодно на момент написания), автор exim проводит учебные курсы в университете Кембриджа в Англии. Детали предстоящих курсов можно найти на сайте http://www-tus.csx.cam.ac.uk/courses/exim/.

1.5. Сообщения об ошибках

Сообщения об очевидных ошибках должны посылаться по электронной почте на адрес bugs@exim.org. Однако, если вы не уверены, является ли такое поведение ошибкой, лучше всего будет отправить сообщение на лист рассылки exim-dev и обсудить его.

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

Главный ftp-сайт дистрибутива exim это
ftp://ftp.csx.cam.ac.uk/pub/software/email/exim

Это его зеркало:
ftp://ftp.exim.org/pub/exim

Ссылки на файлы даны относительно директории exim на этом сайте. Также есть много независмых зеркал по всему миру. Те, которые я знаю, перечислены в файле Mirrors.

Внутри каталога exim есть подкаталоги с именами exim3 (для предыдущего дистрибутива exim3), exim4 (для последнего дистрибутива exim4) и Testing для тестовых версий. В подкаталоге exim4 всегда может быть наёден текущий релиз в файлах с именами:
exim-n.nn.tar.gz
exim-n.nn.tar.bz2
где n.nn задает самый большой номер номер версии в каталоге. Два файла содержат идентичные данные: различие лишь в типе компрессии. Файл .bz2 обычно намного меньше, чем .gz.

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

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

Главный дистрибутив содержит ASCII-версию этой спецификации и другую документацию. Другие форматы документации доступны на FTP-сайте в каталоге exim4 в отдельных файлах:
exim-html-n.nn.tar.gz
exim-pdf-n.nn.tar.gz
exim-postscript-n.nn.tar.gz
exim-texinfo-n.nn.tar.gz

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

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

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

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

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

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

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

  • Exim спроектирован для использования как интернет-MTA и поэтому обрабатывает адреса только в формате доменов RFC 2822. Он не может обрабатывать адреса UUCP с восклицательными знаками, хотя простые двухкомпонентные адреса с восклицательными знаками могут быть конвертированы конфигурацией перезаписи адресов. Это ограничение не препятствует привязке exim через интерфейс к UUCP как транспортного механизма при условии, что используются адреса доменов.
  • Exim настаивает на прикреплении каждому обрабатываемому адресу домена. Для входящих локальных сообщений адреса без домена автоматически дополняются сконфигурированным значением домена. Опции конфигурации определяют, от каких удалённых систем неквалифицированные адреса являются допустимыми. Тогда они квалифицируются по прибытию.
  • Единственные внешние транспортные механизмы, реализованные на данный момент, это SMTP и LMTP по сети TCP/IP (включая поддержку IPv6). Однако, доступен транспорт pipe, и есть средства для записи сообщений в каналы (pipe) и файлы, опционально в пакетном SMTP-формате. Эти средства могут использоваться для отсылки сообщений другим транспортным механизмам, типа UUCP, если они могут обработать адреса в доменном стиле. Также обслуживается пакетный SMTP-ввод.
  • Exim не спроектирован для хранения почты для хостов, соединяющихся по модему. Когда объём такой почты является большим, то лучше доставить сообщения в файлы (то есть, убрать из очереди exim) и впоследствии передать её дозванивающимся хостам другими средствами.
  • Хотя exim имеет базовые возможности для сканирования входящих сообщений, они не являются достаточно полными для полной проверки на вирусы и спам. Такие операции лучше осуществлять, используя пакеты сторонних программ. Если Вы скомпилируете exim с контентным сканированием, то поддержится множество сканеров прямо на интерфейсах.

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

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

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

Как и множество других MTA, exim принял интерфейс командной строки sendmail таким образом, чтобы он мог быть прямой заменой для /usr/lib/sendmail или /usr/sbin/sendmail при отправке почты, но Вы не нуждаетесь в каких-либо знаниях о sendmail для запуска exim. Для других действий, кроме отсылки почты, также существуют sendmail-совместимые опции, но те, которые производят вывод (например, -bp, которая выводит сообщения, находящиеся в очереди) делают это в собственном формате exim. Также есть дополнительные опции, совместимые с Smail 3, и некоторые будущие опции, являющиеся новыми в exim. Раздел 5 документирует все опции командной строки exim. Из этой информации автоматически составляется man-страница, являющаяся частью дистрибутива exim.

Управление сообщениями, находящимися в очереди, может осуществляться через привелигированные опции командной строки. Также существует дополнительная программа, называющаяся eximon, отображающая информацию в X window, и содержащая графический интерфейс к административным опциям командной строки exim.

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

Тело (body) сообщения это фактические данные, которые хочет передать отправитель. Это последняя часть сообщения, отделённая от заголовка (header, см. ниже) пустой строкой.

Когда сообщение не может быть доставлено, то обычно оно возвращается отправителю в виде сообщения об ошибке доставки или сообщения о недоставке (non-delivery report, NDR). Для этого действия обычно используется термин рикошет (bounce), а отчёты об ошибках часто называют рикошетами (bounce messages). Это короткая запись ошибочного сообщения о неудаче доставки (delivery failure error report). У этих сообщений пустой адрес отправителя в конверте (envelope, смотрите ниже) сообщения, для того чтобы гарантировать, что они не станут причинами будущих рикошетов.

Термин по умолчанию (default) часто появляется в этом руководстве. Он используется для определения значения, использующегося при отсутствии настроек этой конкретной опции в конфигурационном файле. Оно может задать действие, выполняемое при условии, что в конфигурационном файле не указано иное.

Термин отсрочка (defer, иногда задержка) используется, когда доставка сообщения адресату не может быть осуществлена немедленно, по каким-либо причинам (хост может быть выключен, или переполнен локальный почтовый ящик пользователя). Такие доставки отсрочиваются (deferred или задерживаются) до более позднего времени.

Слово домен (domain) иногда используется для обозначения всего, кроме первого компонента имени хоста. Это не используется здесь в этом смысле, в данном документе обычно оно означает часть e-mail адреса, следующую за символом @.

Сообщение, находящееся в пути, имеет привязанный конверт (envelope) также, как заголовок и тело. Конверт содержит адрес отправителя (тот, кому будут доставляться рикошеты), и любое число адресов получателей. Ссылки на отправителя или получателей сообщения, обычно означают адреса в конверте. MTA использует для доставки и для возвращения рикошетов эти адреса, а не адреса, фигурирующие в строках заголовков.

Заголовок (header) сообщения это первая часть текста сообщения, состоящая из множества строк, каждая из которых имеет имя, типа From:, To:, Subject: и т. п. Длинные строки заголовка могут быть разрезаны на несколько строк с выравниванием продолжений. Заголовок отделён от тела пустой строкой.

Термин локальная часть (local part), взятый из RFC 2822, используется для того, чтобы обозначить часть адреса электронной почты, предшествующую символу @. Часть следующая за @, называется домен (domain) или почтовый домен (mail domain).

Термины локальная доставка (local delivery) и удалённая доставка (remote delivery) используются для различения доставки в канал (pipe) или в файл на локальном хосте, от доставки по SMTP через TCP/IP на другой хост. Все хосты, кроме того, на котором запущен exim, считаются удалёнными (remote).

Обратный путь (Return path) другое имя использующееся для адреса отправителя в конверте сообщения.

Термин очередь (queue) используется для того, чтобы ссылаться на сообщения, ожидающие доставки, этот термин широко используется в контексте MTA. Однако в случае exim, действительность больше походит на объединение потому, что обычно нет упорядочивания ожидающих сообщений.

Термин обработчик очереди (queue runner) используется для описания процесса, просматривающего очередь и пытающегося доставить те сообщения, у которых наступило время доставки. Этот термин используется и в других MTA, и также имеет отношение к команде runq, но в exim обычно ожидающие сообщения обрабатываются в непредсказуемом порядке.

Термин каталог подкачки (spool directory) используется как каталог, в которой exim сохраняет сообщения своей очереди, то есть те, которые находятся в процессе доставки. Это не должно путаться с каталогом, в котором хранятся локальные почтовые ящики, и который некоторые люди также называют spool directory. В документации exim слово spool всегда используется в первом смысле.

1.13. В чем я не согласен с оригиналом

Да, оригинальная документация на пакет написана хорошо. Однако, кое в чем я не согласен с ее автором. Главным образом с тем, что имя каждой опции в оригинале взято в кавычки ("). Я слишком часто видел, как в результате эти кавычки перебираются вместе с именем в файл настроек. Поэтому при переводе кавычки эти я убрал везде, где заметил. Допускаю, что заметил не везде (убирал вручную). Поэтому если Вы встречаете где-то нечто вроде "опция" или "параметр", то в настройки ограничивающие кавычки идти НЕ должны!

Также отмечу, что символ кавычек (") имеет код 34 (22 в 16-чной системе), в результате чего при любой перекодировке текста этот символ остается неизменным, поскольку во всех русских кодировках есть и находится всегда на одном и том же месте.

1.14. Замечание о качестве перевода

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

Я корректно перевожу значение всех терминов. Поясню на примерах. В английской документации встречается термин "tarball". Я могу подробно привести историю его возникновения и изменения смысла, но сейчас в русском языке ему соответствует "tar-архив" или просто "архив". Как минимум, неграмотно переводить его как "тарбол", а уж перевод "тарболл" нарушает также и нормы английского языка, не только русского.

В английской документации встречается термин "directory". В разное время на русский язык данный термин переводился по-разному, но уже более десяти лет фактическим стандартом стало значение "каталог". Раньше, начиная еще со времен СССР, встречался вариант "директория", но этот вариант постепенно заменялся (и фактически был полностью вытеснен) более кратким и смысловым "каталог". Но практически никогда не использовался вариант "директорий" (не тот род), даже в советское время это считалось грубой ошибкой переводчика (задан неправильный род слова при переводе).

Поиск

 

Найди своих коллег!