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