Введение
Агент передачи почты (Mail Transfer Agent) – Postfix – это бесплатный и открытый почтовый агент (MTA), осуществляющий маршрутизацию и доставку электронной почты. Он распространяется под лицензией IBM Public License 1.0, являющейся лицензией свободного программного обеспечения. Альтернативно, начиная с версии 3.2.5, он доступен под лицензией Eclipse Public License 2.0 по выбору пользователя. Изначально разработанный в 1997 году Витсе Венемой в Исследовательском центре IBM имени Томаса Дж. Уотсона в Нью-Йорке и впервые выпущенный в декабре 1998 года, Postfix по состоянию на 2023 год продолжает активно разрабатываться его создателем и другими участниками. Программное обеспечение также известно под прежними названиями VMailer и IBM Secure Mailer. Название Postfix является составным, образованным от слов "post" (что является синонимом слова "почта") и "bugfix" (отражающим влияние другого программного обеспечения, вдохновившего разработку Postfix).
the Mail Transfer Agent
Postfix is a free and open source mail transfer agent (MTA) that routes and delivers electronic mail. It is released under the IBM Public License 1.0 which is a free software license. Alternatively, starting with version 3.2.5, it is available under the Eclipse Public License 2.0 at the user's option. Originally written in 1997 by Wietse Venema at the IBM Thomas J. Watson Research Center in New York, and first released in December 1998, Postfix continues as of 2023 to be actively developed by its creator and other contributors. The software is also known by its former names VMailer and IBM Secure Mailer. The name Postfix is a compound of "post" (which is another word for "mail") and "bugfix" (which is for other software that inspired Postfix development).
Типичное использование
Как SMTP-сервер, Postfix обеспечивает первый уровень защиты от спам-ботов и вредоносного ПО. Администраторы могут комбинировать Postfix с другим программным обеспечением для фильтрации спама и вирусов (например, Amavisd new), доступа к хранилищу сообщений (например, Dovecot) или реализации сложных политик доступа на уровне SMTP (например, postfwd, milter regex, policyd weight). В качестве SMTP-клиента Postfix реализует высокопроизводительный параллельный механизм доставки почты. Postfix часто используется совместно с программным обеспечением для управления рассылками (например, Mailman).
Архитектура
Postfix состоит из комбинации серверных программ, работающих в фоновом режиме, и клиентских программ, вызываемых пользовательскими программами или системными администраторами. Ядро Postfix состоит из нескольких десятков серверных программ, работающих в фоновом режиме, каждая из которых обрабатывает конкретный аспект доставки электронной почты. Примерами служат SMTP-сервер, планировщик, переписыватель адресов и локальный сервер доставки. В целях минимизации последствий сбоев большинство серверных программ запускаются с фиксированными, ограниченными привилегиями и добровольно завершают работу после обработки определенного количества запросов. Для экономии системных ресурсов большинство серверных программ завершают работу, когда становятся неактивными. Клиентские программы работают вне ядра Postfix и взаимодействуют с серверными программами Postfix через инструкции по доставке почты в файле ~/.forward пользователя, а также через небольшие программы-«шлюзы» для отправки почты или запроса информации о состоянии очереди. Другие программы обеспечивают административную поддержку для запуска или остановки Postfix, запроса информации о статусе, управления очередью, а также для просмотра или обновления файлов конфигурации. Желтые эллипсы – один из множества демонов Postfix, выполняющий строго определенную функцию. Такое разделение на множество небольших программных компонентов считается одной из причин безопасности и стабильности Postfix. Синие прямоугольники – это так называемые таблицы поиска. Таблица поиска состоит из двух столбцов (ключ и значение), содержащих информацию, используемую для контроля доступа, маршрутизации электронной почты и т. д. Оранжевые прямоугольники – это либо очереди сообщений, либо файлы. В любом случае, электронные письма хранятся на постоянных носителях (например, на жестком диске). Белые облака обозначают точки входа и выхода электронной почты из Postfix. Например, smtpd принимает почту от других почтовых серверов или пользователей, а smtp пересылает почту другим MTA.
Прочность
Концептуально, Postfix управляет цепочками процессов, которые передают ответственность за доставку сообщений и уведомление об ошибках от одного процесса к другому. Вся информация о состоянии сообщений и уведомлений сохраняется в файловой системе. Процессы в цепочке работают преимущественно без централизованного управления; эта относительная автономия упрощает восстановление после ошибок. Когда процесс завершается с ошибкой до завершения своей части файловой или протокольной транзакции, предшествующий процесс в цепочке откатывается и повторяет запрос позже, а следующий процесс в цепочке отбрасывает незавершенную работу. Многие демоны Postfix могут просто завершаться при возникновении проблемы; они автоматически перезапускаются при поступлении следующего запроса на обслуживание. Такой подход обеспечивает высокую устойчивость Postfix, если только операционная система или аппаратное обеспечение не выйдут из строя критически.
Опросы
В результатах сканирования Shodan за март 2024 года Postfix был обнаружен 2,7 миллиона раз, Exim — 3,0 миллиона раз. Некоторые сайты блокируют запросы Shodan, но неясно, существенно ли это повлияет на соотношение между Postfix и Exim. В исследовании, опубликованном 1 марта 2024 года компанией E Soft, Inc., которое в 10 раз меньше по объему, было выявлено 148 тысяч почтовых серверов, использующих Postfix, что делает его значительно отстающим от Exim с 227 тысячами. Этот опрос часто упоминается, однако он специально ориентирован на домены, предоставляющие веб-услуги.