«Альтернатива Mailtrap» — это три разных запроса от трёх разных людей. Один упёрся в лимит бесплатного тарифа посреди релиза. Второму нельзя держать тестовые payload'ы на чужих серверах. Третий просто не может достучаться до коммерческой песочницы из своей сети или региона — блокировки по IP случаются и у SaaS. Правильный ответ для каждого свой, поэтому ниже — честное сравнение: инструменты, которые вы запускаете сами, и песочницы-сервисы, — плюс чек-лист переезда, который реально занимает десять минут.

Если self-hosting обязателен, короткий ответ — Mailpit: бесплатный, открытый, один контейнер, активно развивается и ближе всего к роли «замена MailHog». Если обслуживать не хочется вообще — читайте дальше, для этого и сделан этот инстанс.

Почему вообще ищут альтернативу

  • Счётчик. Бесплатные тарифы коммерческих песочниц считают письма, инбоксы или пользователей, а тестовый прогон на каждый пуш такие лимиты выедает за день. Здесь счётчика нет: ограничения — размер письма и срок хранения.
  • Где лежат тестовые письма. Всё, что уходит в облачную песочницу, хранится на чужих серверах: заголовки, ссылки, вложения — включая письмо, куда кто-то скопировал реальные данные из продакшн-шаблона.
  • Доступность. Блокировки по IP, региональные ограничения и проверки аккаунтов случаются. У приватного инстанса такого слоя перед собой нет.
  • SMTP и вебхуки в одном месте. Половина отладки — вообще не почта, а колбэк от провайдера. Ловушка, которая умеет и то и другое, экономит один аккаунт, один дашборд и один набор доступов.

Варианты в сравнении

Вариант Как запускается Цена Где лежат письма Кому подходит
Mailpit сам: один бинарник или Docker-образ бесплатно (MIT) ваш хост/том тем, кто хочет владеть инструментом; современная замена MailHog
smtp4dev сам: .NET-бинарник или Docker бесплатно ваш хост командам с Windows
MailHog сам, но проект заброшен бесплатно ваш хост только если он уже стоит — иначе миграция
Mailcatcher (Ruby) / MailDev (Node) сам бесплатно ваш хост Ruby- и Node-командам, которым нужен инструмент внутри своего стека
Коммерческие песочницы (Mailtrap и другие) у вендора бесплатный тариф, далее за письма/инбоксы/юзеров серверы вендора тем, кому нужны SSO, общие инбоксы, поддержка и SLA
Этот инстанс ведёт оператор, приватно для своих пользователей бесплатно, без счётчика один приватный хост проектам, которым нужны SMTP и вебхуки без обслуживания

Два факта, которые стоит проверить перед выбором. Первый: MailHog — то, чем пользовалось большинство, — заброшен, и в README самого Mailpit прямо написано, что MailHog «больше не поддерживается и не получал обновлений и исправлений безопасности уже несколько лет». Второй: Mailpit активно развивается, принимает письма по SMTP, отдаёт REST API, умеет проверку HTML, ссылок и «спамности», опциональный POP3 и автоматическую очистку (по умолчанию хранит последние 500 писем). Тарифы вендоров меняются часто, поэтому цифр здесь нет: смотрите страницу выбранного вендора в день решения.

Как выбирать по требованию, а не по хайпу

Требование Что подходит
«Тестовые данные не должны покидать нашу инфраструктуру» Mailpit или smtp4dev на своём хосте
«Никто в команде не хочет обслуживать почтовый сервер» этот инстанс или коммерческая песочница
«Отдельные инбоксы на разработчика, ссылки шаринга и вебхуки в одном месте» этот инстанс
«CI должен проверять настоящее MIME-письмо» любой вариант — для приложения это просто хост и порт
«Только Windows на машинах разработчиков» smtp4dev или Docker-образ Mailpit
«Нужны SSO, журнал аудита и договор поддержки» коммерческая песочница

Что даёт этот инстанс

  • Один приватный хост, без копии у третьих лиц. Письма и payload'ы вебхуков лежат в базе этого инстанса на его собственном сервере. Ни аналитики, ни почтового вендора, ни внешней очереди в цепочке нет.
  • Нет лимитов по счётчику. Никаких тарифов «за письмо» или «за пользователя». Единственные ограничения — диск и срок хранения, который задаётся одним параметром.
  • noindex везде. Ссылки шаринга, перехваты вебхуков и все страницы приложения отдают noindex, nofollow, noarchive, поэтому краулер не подхватит тестовое письмо с похожим на настоящее адресом.
  • Один адрес для SMTP и вебхуков. Направьте приложение и провайдеров на один хост — работает и для локальной разработки, и для CI, и для staging.
  • Машиночитаемый вывод. Read-only ссылка шаринга умеет отдавать JSON, поэтому скрипты и ИИ-ассистенты проверяют письма без скриншотов (см. гайд про ИИ).

Чем вы платите

  • Это один хост. Нет вендорского SLA, резервирования по регионам и службы поддержки: если хост недоступен, инстанс недоступен для всех, кто им пользуется.
  • Поддержка — это оператор инстанса. Обновления, бэкапы и сертификаты делает тот, кто инстанс ведёт. Обычно это плюс (вам нечего обслуживать), иногда — ограничение (нет круглосуточной реакции, журнала аудита и SSO).
  • Self-hosting невозможен. Код инстанса не распространяется, свою копию вы развернуть не можете. Если self-hosting обязателен для ваших процессов — этот инструмент не подходит, см. раздел ниже.
  • Общая судьба по замыслу. Все пользователи инстанса делят его диск, срок хранения и аптайм.

Рядом

Коммерческая песочница Self-hosted (Mailpit, smtp4dev) Этот приватный инстанс
Цена Бесплатный тариф, далее за письма/юзеров Бесплатно, ваши серверы Бесплатно, без счётчика
Где данные Серверы вендора Ваши серверы Один приватный хост
Сторонняя аналитика Обычно есть Нет Нет
Хранение Политика вендора Настройки хранилища и очистки Настройка (DATA_RETENTION_DAYS)
Ссылки шаринга Есть Делаете сами Есть, со сроком и отзывом
Индексация тестовых данных По-разному Не применимо (локально) Явный noindex везде
Машинный экспорт Обычно API-ключ REST API Токен шаринга отдаёт JSON
Командные функции SSO, роли, аудит (платно) Нет Базовые: аккаунты, роль админа, ссылки
Кто обслуживает Вендор Вы Оператор инстанса
Работает без открытых портов Да Да Да

Бесплатно и платно: чего на самом деле стоит «бесплатно»

Здесь ничего не считается по счётчику — в этом вся разница. Бесплатный тариф коммерческой песочницы — это объём, который активный тестовый прогон рано или поздно выест; self-hosted ловушка бесплатна, но требует контейнера, тома, пути обновления и человека, который заметит, что она остановилась; этот инстанс — посередине: без счётчика и без обслуживания с вашей стороны, в обмен на общий хост со всеми остальными пользователями.

Переезд с коммерческой песочницы за десять минут

  1. Создайте инбокс здесь и перенесите хост, порт, логин и пароль в staging-окружение. Старые значения оставьте закомментированными на день.
  2. Отправьте одно письмо из приложения и убедитесь, что оно появилось в дашборде — с заголовками, HTML-телом и вложениями.
  3. Повторите для тестового окружения: тот же инбокс или отдельный на каждую среду.
  4. Для вебхуков: создайте URL здесь, зарегистрируйте его у провайдера (Stripe, GitHub, Telegram), вызовите одно событие и уберите старый эндпоинт после первой успешной доставки.

В коде приложения менять ничего не нужно: это по-прежнему SMTP на хосте и порту. Переезд на self-hosted инструмент — те же четыре шага, меняются только хост и порт.

Что особенно актуально в России и Беларуси

  • Оплата. Провести оплату зарубежного SaaS картой получается не всегда, а бесплатный тариф упирается в лимиты быстрее, чем хотелось бы. У этого инстанса тариф один — бесплатный, без счётчика по письмам.
  • Доступность. Блокировки по IP и региональные ограничения у коммерческих песочниц случаются; приватный инстанс и self-hosted инструмент от них не зависят.
  • Язык. Интерфейс здесь двуязычный: переключатель в шапке, выбор запоминается в профиле. Документация — на русском, гайды переведены полностью.

Если self-hosting обязателен

Тогда ставьте Mailpit: Docker-образ или один статический бинарник, UI на порту 8025, SMTP на 1025, REST API для автотестов и активно развивающийся проект. smtp4dev — равноценный выбор, если ваша команда ближе к .NET/Windows. Считайте реальную стоимость честно, она не нулевая: обновления, бэкапы, место на диске, продление сертификатов и мониторинг становятся вашими — как и ночной звонок. Эти инструменты хороши; эта страница просто не должна притворяться одним из них.

Что дальше