После года разработки состоялся релиз новой стабильной ветки почтового сервера Postfix — 3.5.0. В то же время объявлено о прекращении поддержки ветки Postfix 3.1, выпущенной в начале 2016 года. Postfix является одним из редких проектов, сочетающих одновременно высокую безопасность, надёжность и производительность, чего удалось добиться благодаря продуманной архитектуре и достаточно жёсткой политике оформления кода и аудита патчей. Код проекта распространяется под лицензиями EPL 2.0 (Eclipse Public license) и IPL 1.0 (IBM Public License).
В соответствии с мартовским автоматизированным опросом около миллиона почтовых серверов, Postfix используется на 34.29% (34.42%) почтовых серверов, доля Exim составляет 57.77% (год назад 56.91%), Sendmail — 3.83% (4.16%), MailEnable — 2.12% (2.18%), MDaemon — 0.77% (0.91%), Microsoft Exchange — 0.47% (0.61%).
Основные новшества:
- Добавлена поддержка протокола балансировщика нагрузки HAProxy 2.0 с проксированием запросов через TCP поверх IPv4 и IPv6 или без проксирования соединений (для отправки проверочных heartbeat-запросов, подтверждающих работу в штатном режиме).
- Добавлена возможность принудительной установки сообщениям статуса устаревших (не доставленных) для возвращения отправителю. Статус сохраняется в файле очереди доставки в виде специального атрибута, при наличии которого любая попытка доставки приведёт к возвращению сообщения отправителю, без помещения в очередь повторения попыток доставки (hold queue). Для установки атрибута устаревшего сообщения в команду postsuper добавлены флаги «-e» и «-f», отличие флага «-f» в том, что сообщение сразу возвращается отправителю при нахождении в очереди ожидания повторной отправки. В выводе команд mailq и postqueue принудительно устаревшие сообщения помечаются знаком «#» после имени файла.
- В SMTP и LMTP клиенты добавлена поддержка перечисления нескольких хостов для перенаправления сообщения на другой сервер (next-hop). Перечисленные хосты будут пробоваться для передачи сообщения в порядке их следования (если первый недоступен, будет предпринята попытка доставки на второй и т.д.). Указание списка реализовано для директив relayhost, transport_maps, default_transport и sender_dependent_default_transport_maps.
/etc/postfix/main.cf: relayhost = foo.example, bar.example default_transport = smtp:foo.example, bar.example
- Изменено поведение при ведении лога. Адреса в «from=» и «to=» теперь сохраняются с использованием квотинга — если локальная часть адреса содержит пробел или спецсимволы, в логе указанная часть адреса будет заключена в кавычки. Для возвращения старого поведения в настройки следует добавить «info_log_address_format = internal».
Было: from=‹name with spaces@example.com› Стало: from=‹"name with spaces"@example.com›.
- Обеспечена нормализация IP-адресов, полученных из заголовков XCLIENT и XFORWARD или через протокол HaProxy. Изменение может привести к нарушению совместимости на уровне логов и сопоставлений подсетей IPv6 в директиве check_client_access.
- Для повышения удобства взаимодействия с Dovecot в агенте доставки SMTP+LMTP обеспечено прикрепление заголовков Delivered-To, X-Original-To и Return-Path, используя флаги «flags=DORX» в master.cf по аналогии с агентами доставки pipe и local.
- Определён порядок проверки сертификатов, определённых в таблицах check_ccert_access. Вначале проверяется слепок сертификата клиента, а затем открытого ключа клиента (поведение как при указании «search_order = cert_fingerprint, pubkey_fingerprint»).
Источник: http://www.opennet.ru/opennews/art.shtml?num=52550