Эксим
![]() | |
Оригинальный автор(ы) | Филип Хейзел |
---|---|
Разработчик(и) | Сопровождающие Exim |
Первоначальный выпуск | 1995 год |
Стабильная версия | 4.98 [1] ![]() |
Репозиторий | |
Написано в | С |
Операционная система | Unix-подобный |
Платформа | Кросс-платформенный |
Тип | Агент по пересылке почты |
Лицензия | GPL-2.0 или новее [2] |
Веб-сайт | www |
Exim — это агент передачи почты (MTA), используемый в Unix-подобных операционных системах. Exim — это бесплатное программное обеспечение, распространяемое на условиях GNU General Public License , и оно призвано стать универсальной и гибкой почтовой программой с обширными возможностями для проверки входящей электронной почты .
Exim был портирован на большинство Unix-подобных систем, а также на Microsoft Windows с использованием уровня эмуляции Cygwin . Exim 4 в настоящее время является MTA по умолчанию в системах Debian Linux . [3]
Существует множество установок Exim, особенно у интернет-провайдеров. [4] и университеты Соединенного Королевства. Exim также широко используется с менеджером списков рассылки GNU Mailman и cPanel .
В марте 2023 года исследование, проведенное E-Soft, Inc., [5] подсчитали, что 59% общедоступных почтовых серверов в Интернете используют Exim.
Источник
[ редактировать ]Первая версия Exim была написана в 1995 году Филипом Хейзелом для использования в вычислительной службы Кембриджского университета системах электронной почты это название означало EX Perimental Internet Mailer . Первоначально . [6] Первоначально он был основан на более старом MTA, Smail -3, но с тех пор отличается от Smail-3 по своему дизайну и философии. [7] [8]
Модель дизайна
[ редактировать ]Exim, как и Smail , по-прежнему следует Sendmail модели дизайна , где один двоичный файл управляет всеми возможностями MTA. У Exim есть четко определенные этапы, во время которых он получает или теряет привилегии . [9]
в системе безопасности Exim был диагностирован ряд серьезных проблем . За прошедшие годы [10] С момента выпуска переработанной версии 4 было обнаружено четыре ошибки удаленного выполнения кода и одна концептуальная ошибка, касающаяся того, насколько уместно доверять пользователю во время выполнения ; последнее было исправлено в блокировке безопасности в версии 4.73, это один из очень редких случаев, когда Exim нарушал обратную совместимость с рабочими конфигурациями.
Конфигурация
[ редактировать ]Exim легко настраивается и поэтому имеет функции, которых нет в других MTA. Он всегда имел существенные возможности для контроля почтовой политики, предоставляя администратору возможность контролировать, кто может отправлять или ретранслировать почту через систему. В версии 4.x это превратилось в систему на основе списков контроля доступа , обеспечивающую очень детальный и гибкий контроль. Интеграция платформы для сканирования контента, которая позволила упростить интеграцию антивирусных и антиспамовых мер, произошла в версиях 4.x. Это сделало Exim очень подходящим для реализации различных почтовых политик.
Конфигурация выполняется через файл конфигурации (обычно один), который должен включать основной раздел с общими настройками и переменными, а также следующие дополнительные разделы:
- раздел списка управления доступом (ACL), который определяет поведение во время сеансов SMTP ,
- раздел маршрутизаторов, который включает в себя ряд элементов обработки, которые работают с адресами (логика доставки), каждый из которых проверяется по очереди,
- раздел транспорта, который включает в себя элементы обработки, которые передают фактические сообщения адресатам,
- раздел повтора, в котором определяется политика повторной попытки сообщений, которые не удалось доставить с первой попытки,
- раздел перезаписи, определяющий, будет ли и как почтовая система перезаписывать адреса во входящих электронных письмах.
- раздел аутентификаторов с настройками SMTP AUTH , правила для каждого механизма аутентификации.
Файл конфигурации допускает включение других файлов, что приводит к двум различным стилям конфигурации.
Стили конфигурации
[ редактировать ]Есть две основные школы стиля конфигурации Exim. Родная школа хранит конфигурацию Exim в одном файле, а внешние файлы используются только как источники данных; на это сильно влияют предпочтения и замечания Филипа Хейзела о производительности, поскольку файл конфигурации перечитывается при каждом выполнении, что происходит после форка для получения входящих соединений и при доставке.
Второй часто встречающийся стиль — это стиль Debian , который разработан для того, чтобы установленное приложение автоматически обеспечивало поддержку интеграции почты без необходимости редактирования файлов конфигурации администратором. Существует несколько вариантов этого подхода, и Debian предоставляет документацию по этому подходу как часть пакетов. В этих подходах файл конфигурации debconf используется для сборки файла конфигурации exim вместе с шаблонами и каталогами с фрагментами конфигурации. Метаконфигурация настроена с помощью макросов, имена которых начинаются ДК_ . Когда вызывается супервизор exim, он повторно обрабатывает файлы конфигурации, создавая однофайловую конфигурацию, которую использует двоичный файл exim.
Поскольку подход Debian значительно отличается от подхода Exim, обычно в обычных списках рассылки Exim обнаруживается отсутствие поддержки подхода Debian. [11] [12] задавать вопросы по Debian в списке рассылки, управляемом Debian. Упаковка Ubuntu [13] по-прежнему советует пользователям использовать список рассылки Debian.
Документация
[ редактировать ]Exim имеет обширную и исчерпывающую документацию; если функция или какое-то поведение не задокументировано, это классифицируется как ошибка. Документация состоит из спецификации Exim и двух вспомогательных файлов: экспериментальной спецификации для функций, которые могут исчезнуть, и "NewStuff", который отслеживает самые последние изменения, которые, возможно, не были полностью интегрированы в основную спецификацию. Спецификация Exim доступна в нескольких форматах, в том числе онлайн в формате HTML и в виде обычного текста для быстрого поиска. Система подготовки документов обеспечивает удобство использования простого текстового формата.
Производительность
[ редактировать ]Exim был развернут в загруженных средах, часто эффективно обрабатывая тысячи электронных писем в час. Exim предназначен для немедленной доставки электронной почты без очередей. Однако производительность обработки очередей сравнительно низкая, когда очереди большие (что случается редко на типичных сайтах с низким трафиком, но может происходить регулярно на сайтах с высоким трафиком).
В отличие от qmail , Postfix и ZMailer , Exim не имеет центрального менеджера очередей (т.е. эквивалента qmail-send , qmgr или планировщика ). Таким образом, отсутствует централизованная балансировка нагрузки при обработке очереди (что приводит к непропорциональным затратам времени на повторную обработку одних и тех же записей очереди). По умолчанию общесистемный параллелизм удаленного транспорта не ограничен (что приводит к « громовой стадной проблеме », когда одновременно отправляется несколько сообщений, адресованных одному домену), но может быть ограничен конфигурацией. По словам Филипа Хейзела: [14]
- «Суть в том, что exim не особенно хорошо работает в средах, где очередь регулярно становится очень большой. Он никогда не был предназначен для этого; поставки из очереди всегда считались «исключениями», а не нормой».
Exim POSIX В 1997 году Хейзел заменил библиотеку регулярных выражений , написанную Генри Спенсером, на разработанную им новую библиотеку под названием PCRE ( Perl -совместимые регулярные выражения).Регулярные выражения Perl намного мощнее, чем POSIX и другие распространенные регулярные выражения, а PCRE стал популярен в приложениях, отличных от Exim. В 2021 году (после выхода 4.95)Exim перешел на PCRE2.
Обновления
[ редактировать ]Исторически Exim использовал своеобразную схему нумерации версий, где первая десятичная цифра обновляется только тогда, когда основная документация полностью обновлена; до этого времени изменения накапливались в файле NewStuff. По этой причине изменение версии 0.01 может означать важные изменения, не обязательно полностью задокументированные. [15] В 2005 году обсуждались изменения в нумерации версий Exim. [16]
В последнее время система подготовки документов для Exim была переработана, и изменения, скорее всего, сразу же войдут в Спецификацию Exim. Версия 4.70 естественным образом последовала за версией 4.69, а версии 4.6x имели обновленную документацию.
Филип Хейзел ушел из Кембриджского университета в 2007 году, и обслуживание Exim было передано команде сопровождающих. Exim продолжает активно поддерживаться с частыми выпусками.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «[exim-announce] Выпущен Exim 4.98» . 10 июля 2024 г. Проверено 12 июля 2024 г.
- ^ "УВЕДОМЛЕНИЕ" . Гитхаб .
- ^ Адельштейн, Том; Лубанович, Билл (27 марта 2007 г.). Системное администрирование Linux . «О'Рейли Медиа, Инк.». ISBN 978-0-596-00952-6 .
- ^ Голански, Ю. (2000) Агент передачи почты Exim в крупномасштабном развертывании
- ^ «Опрос E-Soft MX» . Securityspace.com . E-Soft Inc., 1 марта 2023 г. Проверено 20 марта 2023 г.
- ^ Филип Хейзел Почтовый SMTP-сервер Exim (Предисловие). Архивировано 30 декабря 2008 г. на Wayback Machine.
- ^ «Оригинальные мысли Филипа Хейзела о реализации будущего MTA на базе Smail» . cam.ac.uk. Архивировано из оригинала 15 декабря 2008 г.
- ^ «СПС Смаил-3» . странный.com .
- ^ «Соображения безопасности» . exim.org .
- ^ «ЭксимСекьюрити» . Гитхаб .
- ^ «ДебианЭксим4» . Гитхаб .
- ^ «Часто задаваемые вопросы по Exim» . exim.org .
- ^ «Ubuntu — Подробная информация о пакете exim4 в lucid» . Ubuntu.com .
- ^ сообщение Филипа Хейзела
- ^ [Exim] Выпущен Exim 4.21.
- ^ «Развитие Exim – от собора к причудливому» . Архивировано из оригинала 14 октября 2007 года . Проверено 25 февраля 2015 г.
Библиография
[ редактировать ]- Хейзел, Филип (1 апреля 2007 г.). Почтовый SMTP-сервер Exim: Официальное руководство для версии 4 (второе изд.). UIT Cambridge Ltd. с. 640. ИСБН 978-0-9544529-7-1 . Архивировано из оригинала 07.11.2010 . Проверено 13 декабря 2010 г.