Состоялся релиз почтового сервера Exim 4.95, в который внесены накопившиеся исправления и добавлены новые возможности. В соответствии с сентябрьским автоматизированным опросом более миллиона почтовых серверов, доля Exim составляет 58% (год назад 57.59%), Postfix используется на 34.92% (34.70%) почтовых серверов, Sendmail — 3.52% (3.75%), MailEnable — 2% (2.07%), MDaemon — 0.57% (0.73%), Microsoft Exchange — 0.32% (0.42%).
- Объявлена стабильной поддержка режима обработки очереди сообщений fast-ramp, который позволяет ускорить начало доставки сообщений при большом размере очереди на отправку и наличии внушительного числа сообщений, направляемых на типовые хосты, например при передаче большого числа писем крупным почтовым провайдерам или отправке через промежуточного агента передачи сообщений (smarthost). Если режим включён при помощи опции «queue_fast_ramp» и двухэтапная обработка очереди
(«-qq») выявляет наличие большой порции сообщений, адресованных определённому почтовому серверу, то доставка для данного хоста будет начата незамедлительно. - Стабилизирована альтернативная реализация механизма SRS (Sender Rewriting Scheme) — «SRS_NATIVE», не требующая внешних зависимостей (старая экспериментальная реализация требовала установки библиотеки libsrs_alt). SRS позволяет переписать адрес отправителя при пересылке без нарушения проверок SPF (Sender Policy Framework) и обеспечив сохранение данных об отправителе для направления сервером сообщений в случае ошибки доставки. Суть метода в том, что при установке соединения передаются сведения об идентичности с изначальным отправителем, например при перезаписи alice@example.org на alice@example.com будет указано «SRS0=HHH=TT=example.org=alice@example.com». SRS актуален, например, при организации работы списков рассылки, в которых исходное сообщение перенаправляется другим получателям.
- Стабилизирована опция TLS_RESUME, обеспечивающая возможность возобновления ранее прерванного TLS-соединения.
- Стабилизирована поддержка высокопроизводительной компактной встраиваемой СУБД LMDB, хранящей данные в формате ключ-значение. Поддерживаются только lookup-выборки из готовых БД по одному ключу (запись из exim в LMDB не реализована). Например, для проверки домена отправителя в правилах можно использовать запрос вида «${lookup{$sender_address_domain}lmdb{/var/lib/spamdb/stopdomains.mdb}}».
- Добавлена опция «message_linelength_limit» для задания ограничения на число символов в строке.
- Предоставлена возможность игнорирования кэша при выполнении lookup-запросов.
- Для транспорта appendfile реализована проверка квот во время приёма сообщения (SMTP-сеанса).
- В lookup-запросах к SQLite добавлена поддержка опции «file=<path>», позволяющей указать файл с БД для конкретной операции без указания префиксов в строке с командой SQL.
- В lookup-запросах к Lsearch добавлена поддержка опции «ret=full» для возврата всего блока данных, соответствующего ключу, а не только первой строки.
- Установка TLS-соединений ускорена за счёт упреждающей загрузки и кэширования информации (например, сертификатов) вместо её загрузки перед началом обработки каждого соединения.
- Добавлен параметр «proxy_protocol_timeout» для настройки таймаута для протокола Proxy.
- Добавлен параметр «smtp_backlog_monitor» для включения записи в лог информации о размере очереди ожидающих соединений (backlog).
- Добавлен параметр «hosts_require_helo», запрещающий передачу команды MAIL, если ранее не была передана команда HELO или EHLO.
- Добавлен параметр «allow_insecure_tainted_data», при указании которого небезопасное экранирование спецсимволов в данных будет приводить к выводу предупреждения вместо ошибки.
- Прекращена поддержка платформы macOS (сборочные файлы перенесены в категорию unsupported).