Открыт код Postal, платформы для управления доставкой email для web-серверов
Компания aTech Media открыла исходные тексты платформы Postal, предназначенной для контроля доставки и приема сообщений по электронной почте в процессе работы сайтов и web-серверов, в том числе для организации отправки писем с кодами подтверждения регистрации и восстановления паролей. Код написан на языке Ruby и распространяется под лицензией MIT. Для хранения данных используется MySQL или MariaDB.
Postal сочетает функции почтового сервера и интерфейса для анализа, классификации и обработки корреспонденции. Проект можно рассматривать как аналог пропретарных продуктов Sendgrid, Mailgun и Postmark, предназначенных для развертывания на собственном оборудовании. Предусмотрен интерфейс для работы с архивом сообщений и просмотра очередей доставки входящих и исходящих сообщений, в том числе имеется встроенный поисковый движок для поиска нужных писем в архиве. В платформу встроены средства мониторинга, динамика отправки и приема сообщений отображается на наглядных графиках и через набор отчетов со статистикой, позволяющих оперативно выявлять проблемы и аномалии.
Кроме функций просмотра сообщений, напоминающих web-mail, система также позволяет настроить перенаправления определенных типов сообщений на HTTP-обработчики HTTP (например, ответы на письма для подтверждения операций), на другие SMTP-серверы или на другие email. Web-приложениям предоставляется HTTP API для отправки сообщений (можно использовать и обычный SMTP) и контроля за их доставкой. Платформа может обслуживать почтовый трафик нескольких организаций с разными почтовыми серверами и списками пользователей. Для входящих писем Postal позволяет организовать проверку на вирусы и спам при помощи SpamAssassin и ClamAV.
Postal может управлять несколькими учетными записями для каждого web-сервера, поддерживает формирование цифровых подписей DKIM и может ограничивать интенсивность отправки с каждого web-сервера для предотвращения спамерских атак. Отправка может производиться с нескольких пулов IP-адресов, к каждому из которых можно привязать разные группы отправителей. Предоставляются средства для привязки тегов к сообщениям для последующей группировки и агрегирования (например, можно разом выбрать все запросы на сброс пароля).
Для web-разработчиков присутствует режим симуляции, позволяющий протестировать работу в web-приложении отправки и обработки сообщений без их фактической доставки (сообщения остаются в web-интерфейсе Postal). Имеется система для построения списка несуществующих получателей, позволяющего блокировать повторную отправку писем на email, переставшие существовать. Из средства аналитики примечательная система "Click and open", предназначенная для отслеживания фактов открытия отправленных сообщений и перехода по приведенным в письме ссылкам (в письмо помещается картинка-счетчик, а ссылки перебрасываются через промежуточный обработчик).