MillionSend: самохостинг платформы для отправки электронных писем
MillionSend — это открытая платформа для отправки электронных писем, которую можно развернуть на своём AWS SES или использовать в облаке. Она предлагает совместимый API с Resend, что упрощает миграцию, ведь нужно лишь изменить пару переменных окружения.
Проект позволяет эффективно управлять рассылками, поддерживает idempotency для предотвращения дублирования отправок, а также предоставляет инструменты для автоматического управления списками подавления, шаблонами и контактами. Грубо говоря, если ты искал решение для масштабной отправки писем и готов к самохостингу, то MillionSend — твой выбор. Он подойдет как для разработчиков, ищущих гибкость в управлении рассылками, так и для команд, которым нужны продвинутые метрики и интеграции.
MillionSend написан на Node.js и запускается через Docker. Учти, что перед использованием нужно будет аккуратно настроить API-ключи и проверить интеграцию с SES. Обрати внимание, что пока это решение может потребовать навыков администрирования и может быть не совсем готовым для продуктивного использования без ручной доработки.
Проект MillionSend — это платформа для работы с электронной почтой с открытым исходным кодом. С её помощью можно отправлять как отдельные письма, так и массовые рассылки. Ты можешь установить MillionSend на своём собственном AWS SES или использовать облачный сервис. Платформа совместима с API Resend, что делает миграцию простой — достаточно изменить две переменные окружения.
Возможности
MillionSend предлагает широкий набор функций:
- API для работы с письмами: Совместимое с Resend API, поддерживает отправку, пакеты, получение и отмену писем.
- Идемпотентность: Используй заголовок `Idempotency-Key` для предотвращения дублирования при повторной отправке.
- API-ключи: Создавай и отзывай ключи `ms_` через панель управления, с возможностью отслеживания последнего использования.
- Список подавленных адресов: Автоматически подавляются жёсткие отказы и жалобы; можно управлять адресами через API.
- Метрики: Отслеживай количество отправленных писем вместе с показателями отказов и жалоб.
- Webhook: Поддержка стандартных вебхуков с возможностью выбора событий для каждой конечной точки.
- Поддержка доменов: Осуществляется проверка DNS; возможность привязки своего DKIM ключа.
- Контакты: Управление контактами с возможностью импорта и сегментации.
- Отказ от подписки: Возможность простого отказа от подписки через заголовки и специальную страницу.
- Рассылки: Создание и планирование рассылок на всю аудиторию или определённые сегменты.
- Шаблоны и поля слияния: Используй повторно шаблоны с индивидуальными полями для каждого контакта.
- Логи запросов API: Ведение записи всех запросов с удалением конфиденциальной информации.
- SMTP-релей: Возможна интеграция с SMTP через порт 2587 с аутентификацией по API-ключу.
- Получение сообщений: В бета-версии предусмотрена возможность получения писем на проверенные домены.
- Панель управления: Доступна на английском и португальском языках.
- Самостоятельный хостинг: Поддерживается установка через Docker с использованиeм AWS SES.
- Миграция с Resend: Инструменты для переноса контактной информации и настроек.
- Мониторинг контента: Опциональная функция, использование которой зависит от настроек.
Запуск проекта
Чтобы запустить проект локально, просто введи одну команду в пустую директорию — без необходимости клонирования репозитория:
npx @millionsend/setup
Мастер установки создаст файл `.env` с сгенерированными секретами, а также может настроить ресурсы AWS (IAM, SNS и SES). Всё происходит с помощью команды `docker compose up -d`. Доступ к панели управления осуществляется по адресу http://localhost:3000, а к API — по http://localhost:3001.
Лицензия
Код проекта лицензирован под AGPL-3.0, а SDK поставляется под MIT. Название и логотипы MillionSend являются товарными знаками проекта и не подпадают под лицензию AGPL.
Сообщество
Если у тебя есть вопросы или идеи, ты можешь обсудить их в разделе Discussions на GitHub.
Открыть на GitHub: MillionSend/millionsend →
RepoRadar