Оригинальный автор (ы) | Wietse Venema на IBM Исследовательский центр Томаса Дж. Ватсона |
---|---|
Разработчик (и) | Google и многие другие |
Первоначальный выпуск | 14 декабря 1998 г.; 21 год назад (1998-12-14) |
Стабильный выпуск | 3.5.7 / 30 августа 2020 г.; 2 месяца назад (30.08.2020) |
Предварительный выпуск | 3.6-20201101 / 1 ноября 2020 г.; 1 день назад (2020-11-01) |
Репозиторий | |
Написано на | C |
Операционная система | Кросс-платформенная |
Тип | Агент передачи почты |
Лицензия | Общественная лицензия IBM или Общественная лицензия Eclipse |
Веб-сайт | www.postfix.org |
Postfix - это бесплатный и открытый источник агент передачи почты (MTA), который маршрутизирует и доставляет электронную почту.
. под общественной лицензией IBM 1.0, которая является лицензией на бесплатное программное обеспечение. В качестве альтернативы, начиная с версии 3.2.5, он доступен по общественной лицензии Eclipse 2.0 по выбору пользователя.
Первоначально написано в 1997 году Wietse Venema в IBM Исследовательский центр Томаса Дж. Ватсона в Нью-Йорке, впервые выпущенный в декабре 1998 года, Postfix с 2020 года продолжает активно развиваться его создателем и другими участники. Программное обеспечение также известно под его прежними названиями VMailer и IBM Secure Mailer .
В августе 2019 года исследование, проведенное E-Soft, Inc., показало, что примерно 34% общедоступных почтовых серверов в Интернете работает Postfix, что делает его вторым по популярности почтовым сервером после Exim.
Как SMTP сервер, Postfix реализует первый уровень защиты от спам-ботов и вредоносных программ. Администраторы могут комбинировать Postfix с другим программным обеспечением, которое обеспечивает фильтрацию спама / вирусов (например, Amavisd-new ), доступ к хранилищу сообщений (например, Dovecot ) или сложный SMTP -уровневые политики доступа (например, postfwd или серый список ).
В качестве клиента SMTP Postfix реализует высокопроизводительный механизм параллельной доставки почты. Postfix часто сочетается с программным обеспечением списка рассылки (например, Mailman ).
Postfix работает (или уже работал) на AIX, BSD, HP-UX, Linux, macOS, Solaris и, вообще говоря, в каждой Unix-подобной операционной системе, которая поставляется с C компилятором и предоставляет стандартную среду разработки POSIX. Это стандартный MTA для macOS, NetBSD, RedHat / CentOS и Ubuntu операционных систем.
Postfix состоит из комбинации серверных программ, которые работают в фоновом режиме, и клиентских программ, которые вызываются пользовательскими программами или системой администраторы.
Ядро Postfix состоит из нескольких десятков серверных программ, которые работают в фоновом режиме, каждая из которых обрабатывает один конкретный аспект доставки электронной почты. Примерами являются SMTP сервер, планировщик, устройство перезаписи адресов и локальный сервер доставки. В целях предотвращения повреждений большинство серверных программ запускаются с фиксированными ограниченными привилегиями и завершаются добровольно после обработки ограниченного количества запросов. Чтобы сохранить системные ресурсы, большинство серверных программ завершают свою работу, когда они бездействуют.
Клиентские программы работают вне ядра Postfix. Они взаимодействуют с программами сервера Postfix с помощью инструкций по доставке почты в пользовательском файле ~ /.forward и с помощью небольших программ-«ворот» для отправки почты или запроса информации о состоянии очереди.
Другие программы предоставляют административную поддержку для запуска или остановки Postfix, запроса информации о статусе, управления очередью или для проверки или обновления файлов конфигурации.
Реализация Postfix использует безопасные подмножества языка C и POSIX система API. Эти подмножества скрыты под слоем абстракции, который содержит около 50% всего исходного кода Postfix и обеспечивает основу, на которой построены все программы Postfix. Например, примитив «vstring» делает код Postfix устойчивым к атакам переполнения буфера, а примитив «безопасное открытие» делает код Postfix устойчивым к атакам состояния гонки в системах, реализующих POSIX API файловой системы. Этот уровень абстракции не влияет на устойчивость к атакам кода, отличного от Postfix, такого как код в системных библиотеках или сторонних библиотеках.
Концептуально Postfix управляет конвейерами процессов, которые передают ответственность за доставку сообщений и уведомление об ошибках от одного процесса к другому. Вся информация о «состоянии» сообщений и уведомлений сохраняется в файловой системе. Процессы в конвейере работают в основном без централизованного управления; эта относительная автономия упрощает восстановление после ошибок. Когда процесс выходит из строя до завершения своей части транзакции файла или протокола, его предшественник в конвейере отключается и повторяет запрос позже, а его преемник в конвейере отбрасывает незавершенную работу. Многие демоны Postfix могут просто «умереть», столкнувшись с проблемой; они автоматически перезапускаются при поступлении следующего запроса на обслуживание. Такой подход делает Postfix очень устойчивым до тех пор, пока операционная система или оборудование не выходят из строя катастрофически.
Один единственный экземпляр Postfix был синхронизирован со скоростью ~ 300 доставок сообщений в секунду через Интернет на стандартном оборудовании (система Dell 1850 года выпуска 2003 года с контроллер MegaRAID с батарейным питанием и два диска SCSI ). Эта скорость доставки на порядок ниже «внутреннего» предела в 2500 доставок сообщений в секунду, который был достигнут с почтовой очередью на RAM-диске при доставке на транспорт «discard » (с двойным- core система Opteron в 2007 г.).
Почтовые системы, такие как Postfix и Qmail, достигают высокой производительности за счет доставки почты в параллельных сеансах. С такими почтовыми системами, как Sendmail и Exim, которые устанавливают одно соединение за раз, высокая производительность может быть достигнута путем отправки ограниченных пакетов почты параллельно, так что каждый пакет доставляется другой процесс. Postfix и Qmail требуют параллельной передачи в разные экземпляры MTA, когда они достигают своего внутреннего предела производительности или пределов производительности оборудования или операционной системы.
Приведенные выше показатели доставки в основном теоретические. При массовой доставке почты истинная скорость доставки в первую очередь определяется политикой получения почты получателем и репутацией отправителя.
В файле main.cf хранятся параметры конфигурации Postfix для конкретного сайта, а master.cf определяет процессы демона. В руководстве Базовая конфигурация Postfix рассматриваются основные параметры, которые необходимо учитывать каждому сайту, а в документе Примеры стандартной конфигурации Postfix обсуждаются параметры конфигурации для нескольких распространенных сред. Документ Postfix Address Rewriting описывает перезапись адресов и маршрутизацию почты. Полная коллекция документации находится в Документация Postfix
Более сложные реализации Postfix могут включать: интеграцию с другими приложениями, такими как SpamAssassin ; поддержка нескольких виртуальных доменных имен - и использование таких баз данных, как MySQL, для управления сложными конфигурациями.
Версия | Дата выпуска | Существенные изменения | |
---|---|---|---|
Основные | Незначительные | ||
Старая версия, больше не поддерживается: 2.0 | |||
Старая версия, больше не поддерживается: 2.1 | |||
Старая версия, больше не поддерживается: 2.2 | |||
Старая версия, больше не поддерживается: 2.3 | |||
Старая версия, больше не поддерживается: 2.4 | |||
Старая версия, больше не поддерживается: 2.5 | 2.5.0 | 24 января 2008 г. | |
2.5.8 | 28 августа 2009 г. | Отмененный выпуск. | |
2.5.17 | 6 февраля 2012 г. | EOL 2.5 | |
Старая версия, больше не поддерживается: 2.6 | 2.6.0 | 12 Май 2009 г. | |
2.6.3 | 2 августа 2009 г. | Необъявленный выпуск. | |
2.6.4 | 26 августа 2009 г. | Отзыв отозван. | |
2.6.19 | 4 февраля 2013 г. | EOL 2.6 | |
Старая версия, больше не поддерживается: 2.7 | 2.7.0 | 13 Февраль 2010 г. | |
2.7.16 | 16 января 2014 г. | EOL 2.7 | |
Старая версия, больше не поддерживается: 2.8 | 2.8.0 | 20 января 2011 | Представлен демон postscreen, который находится перед основным постфиксом и действует как блокировщик зомби. Также: белый список DNS, поддержка SQLite |
2.8.1 | 22 февраля 2011 г. | ||
2.8.2 | 21 марта 2011 г. | ||
2.8.3 | 9 Май 2011 | ||
2.8.4 | 7 июля 2011 | ||
2.8.5 | 3 сентября 2011 | ||
2.8.6 | 24 октября 2011 | ||
2.8.7 | 7 ноября 2011 г. | ||
2.8.8 | 1 февраля 2012 г. | ||
2.8.9 | 5 марта 2012 г. | ||
2.8.10 | 24 апреля 2012 г. | ||
2.8.11 | 20 мая 2012 г. | ||
2.8.12 | 1 августа 2012 г. | ||
2.8.13 | 13 Декабрь 2012 г. | ||
2.8.14 | 4 февраля 2013 г. | ||
2.8.15 | 22 июня 2013 г. | ||
2.8.16 | 5 сентября 2013 г. | ||
2.8.17 | 16 января 2014 года | ||
2.8.18 | 13 октября 2014 года | ||
2.8.19 | 19 октября 2014 года | ||
2.8.20 | 8 февраля 2015 г. | EOL 2.8 | |
Старая версия, больше не поддерживается: 2.9 | 2.9.0 | 1 февраля 2012 г. | Поддержка Memcache, постепенная деградация |
2.9.1 | 18 февраля 2012 г. | ||
2.9.2 | 24 апреля 2012 г. | ||
2.9.3 | 20 мая 2012 г. | ||
2.9.4 | 1 августа 2012 г. | ||
2.9.5 | 13 декабря 2012 г. | ||
2.9.6 | 4 февраля 2013 г. | ||
2,9,7 | 22 июня 2013 г. | ||
2,9,8 | 5 сентября 2013 г. | ||
2,9,9 | 16 Январь 2014 г. | ||
2.9.10 | 13 октября 2014 г. | ||
2.9.11 | 19 октября 2014 г. | ||
2.9.12 | 8 февраля 2015 г. | ||
2.9.13 | 12 апреля 2015 года | ||
2.9.14 | 20 июля 2015 года | ||
2.9.15 | 10 октября 2015 года | EOL 2.9 | |
Старая версия, больше не поддерживается: 2.10 | 2.10.0 | 11 февраля 2013 г. | Поддержка TLSv1.1 и TLSv1.2 |
2.10.1 | 22 июня 2013 г. | ||
2.10.2 | 5 сентября 2013 г. | ||
2.10.3 | 16 января 2014 г. | ||
2.10.4 | 13 октября 2014 г. | ||
2.10.5 | 19 октября 2014 г. | ||
2.10.6 | 8 февраля 2015 г. | ||
2.10.7 | 12 апреля 2015 года | ||
2.10.8 | 20 июля 2015 года | ||
2.10.9 | 10 октября 2015 года | ||
2.10.10 | 15 мая 2016 г. | EOL 2.10 | |
Старая версия, больше не поддерживается: 2.11 | 2.11.0 | 15 января 2014 г. | Поддержка DANE |
2.11.1 | 7 мая 2014 г. | ||
2.11.2 | 13 октября 2014 г. | ||
2.11.3 | 19 октября 2014 г. | ||
2.11.4 | 8 февраля 2015 г. | ||
2.11.5 | 12 апреля 2015 г. | ||
2.11.6 | 20 июля 2015 | ||
2.11.7 | 10 октября 2015 | ||
2.11.8 | 15 мая 2016 | ||
2.11.9 | 1 января 2017 года | ||
2.11.10 | 13 июня 2017 г. | ||
2.11.11 | 27 января 2018 г. | ||
Старая версия, больше не поддерживается: 3.0 | 3.0.0 | 8 февраля 2015 | Поддержка интернационализированных доменных имен и локальных частей адресов, как определено в RFC 6530 и связанных документах, динамически подключаемых библиотеках Postfix и подключаемых модулях баз данных, операции на нескольких таблицах поиска, псевдотаблицах, упрощающих реализацию простых вещей, и т. д. |
3.0.1 | 12 апреля 2015 г. | ||
3.0.2 | 20 июля 2015 г. | ||
3.0.3 | 10 октября 2015 года | ||
3.0.4 | 21 февраля 2016 года | ||
3.0.5 | 15 мая 2016 года | ||
3.0.6 | 28 августа 2016 г. | ||
3.0.7 | 1 октября 2016 г. | ||
3.0.8 | 1 января 2017 г. | ||
3.0.10 | 13 июня 2017 г. | ||
3.0.11 | 28 октября 2017 г. | ||
3.0.12 | 27 Январь 2018 | ||
3.0.13 | 20 мая 2018 | ||
3.0.14 | 24 ноября 2018 | ||
3.0.15 | 26 февраля 2019 | ||
Старая версия, больше не поддерживается: 3.1 | 3.1.0 | 24 февраля 2016 г. | Упрощенная настройка гибкого управления ключами / сертификатами сервера TLS и SMTP, положительный и отрицательный ответ DNS Поддержка TTL в постэкране, ограничение скорости SASL AUTH на SMTP-сервере, ограничение безопасности на количество запросов проверки адреса, список очередей JSON, независимая от пункта назначения задержка скорости доставки, среди прочего. |
3.1.1 | 15 мая 2016 | ||
3.1.2 | 28 августа 2016 | ||
3.1.3 | 1 октября 2016 | ||
3.1.4 | 1 января 2017 года | ||
3.1.6 | 13 июня 2017 г. | ||
3.1.7 | 28 октября 2017 г. | ||
3.1.8 | 27 января 2018 г. | ||
3.1.9 | 20 мая 2018 г. | ||
3.1.10 | 24 ноября 2018 г. | ||
3.1.11 | 26 февраля 2019 г. | ||
3.1.12 | 30 марта 2019 г. | ||
3.1.13 | 29 июня 2019 г. | ||
3.1.14 | 22 сентября 2019 г. | ||
3.1.15 | 3 февраля 2020 г. | ||
Старая версия, пока еще май достигнуто: 3.2 | 3.2.0 | 28 февраля 2017 | Эллиптическая кривая согласование с OpenSSL ≥ 1.0.2, хранимая процедура поддержка баз данных MySQL, поддержка cidr: table для if / endif и отрицания, поддержка конфигурации для каждого клиента Milter, действия «PASS» и «STRIP» в header / body_checks и т. Д. |
3.2.2 | 13 июня 2017 года | ||
3.2.3 | 24 сентября 2017 года | ||
3.2.4 | 28 октября 2017 года | ||
3.2.5 | 27 января 2018 года | ||
3.2.6 | 20 мая 2018 года | ||
3.2.7 | 24 ноября 2018 года | ||
3.2.8 | 26 февраля 2019 | ||
3.2.9 | 30 марта 2019 | ||
3.2.10 | 29 июня 2019 | ||
3.2.11 | 22 сентября 2019 | ||
3.2.12 | 3 февраля 2020 г. | ||
3.2.13 | 12 марта 2020 г. | ||
3.2.14 | 18 апреля 2020 г. | ||
Более старая версия, пока все еще поддерживается: 3.3 | 3.3.0 | 21 февраля 2018 г. | Прекращение поддержки устаревшего выпуска Postfix 2.11 |
3.3.1 | 20 мая 2018 г. | ||
3.3.2 | 24 ноября 2018 г. | ||
3.3.3 | 26 февраля 2019 г. | ||
3.3.4 | 30 марта 2019 г. | ||
3.3.5 | 29 июня 2019 г. | ||
3.3.6 | 22 сентября 2019 г. | ||
3.3.7 | 3 февраля 2020 г. | ||
3.3.8 | 12 марта 2020 г. | ||
3.3.9 | 18 апреля 2020 г. | ||
Более старая версия, но поддерживается: 3.4 | 3.4.0 | 27 февраля 2019 г. | Прекращение поддержки устаревшего выпуска Postfix 3.0 |
3.4.1 | 7 марта 2019 г. | ||
3.4.2 | 10 марта 2019 | ||
3.4.3 | 10 марта 2019 | Одно из изменений Postfix 3.4.2 (LINUX5) отсутствовало. | |
3.4.4 | 14 марта 2019 г. | ||
3.4.5 | 30 марта 2019 г. | ||
3.4.6 | 29 июня 2019 г. | ||
3.4. 7 | 22 сентября 2019 года | ||
3.4.8 | 24 ноября 2019 года | ||
3.4.9 | 3 февраля 2020 года | ||
3.4.10 | 12 марта 2020 года | ||
3.4.11 | 18 апреля 2020 года | ||
Текущая стабильная версия: 3.5 | 3.5.0 | 16 марта 2020 года | Прекращена поддержка устаревшего выпуска Postfix 3.1 |
3.5.1 | 18 апреля 2020 г. | ||
Последняя предварительная версия будущего выпуска: 3.6 | 19 апреля 2020 г. | ||
Условные обозначения: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск |