Эти три названия всегда всплывают вместе, хотя отвечают на разные вопросы. Mailpit — инструмент, который вы запускаете сами. MailHog — то, что он заменил. Mailtrap — сервис, за который платят (или пользуются бесплатным тарифом со счётчиком). «Лучшего» в вакууме нет: ответ зависит от двух вещей — кто должен это запускать и где разрешено лежать тестовым данным.
Рядом
| Mailpit | MailHog | Mailtrap и другие облачные песочницы | |
|---|---|---|---|
| Кто запускает | вы: один бинарник или контейнер | вы (проект заброшен) | вендор |
| Состояние | активная разработка | не поддерживается годами | коммерческий сервис |
| Цена | бесплатно (MIT) | бесплатно (MIT) | бесплатный тариф, далее за письма/инбоксы/юзеров |
| Где лежит почта | ваш хост | ваш хост | серверы вендора |
| Порты SMTP / UI | 1025 / 8025 | 1025 / 8025 | хост и порт выдаёт вендор |
| API | REST API, live-обновления по веб-сокетам | JSON API | API-ключ, свои правила |
| Работа с письмом | проверки HTML, ссылок и «спамности», поиск, скриншоты, теги | базовый список и просмотр | зависит от тарифа |
| Дополнительно | опциональный POP3, релей и пересылка | отправка в реальный SMTP | — |
| Хранение | автоочистка (по умолчанию 500 писем, настраивается) | память, MongoDB или файлы | по тарифу |
| Командные функции | нет, это локальный инструмент | нет | общие инбоксы, роли, SSO, аудит (платно) |
| Перехват вебхуков | нет | нет | обычно нет |
| Обслуживание | вы | вы (а выше — никто) | вендор |
В чём каждый выигрывает
- Mailpit — когда почта должна оставаться на вашей инфраструктуре, а контейнер или статический бинарник вас устраивает. Это современный дефолт для локальной разработки и CI: есть API для проверок, а проверки HTML, ссылок и «спамности» ловят то, что не видно на скриншотах.
- MailHog — только если он уже стоит и менять в этом квартале ничего не хочется. Порты по умолчанию совпадают с Mailpit, так что переезд — это смена образа: см. Альтернатива MailHog.
- Mailtrap и коммерческие песочницы — когда запускать должен кто-то другой: общие инбоксы для команды, SSO, журнал аудита, поддержка и SLA. За это и платят, причина уважительная. Обратная сторона — счётчик писем, политика вендора в отношении ваших тестовых данных и аккаунт на каждого разработчика.
- Этот инстанс — середина: SMTP и перехват вебхуков на одном адресе, без счётчика, без обслуживания, с read-only ссылками шаринга и JSON-экспортом для скриптов и ИИ. Его нельзя поставить себе — в этом и суть компромисса.
Решают два вопроса
- Хотите ли вы это запускать? Да → Mailpit (или smtp4dev на .NET). Нет → хостируемый вариант: этот инстанс, либо коммерческая песочница, если нужны командные функции и договор.
- Должны ли тестовые данные оставаться внутри вашей инфраструктуры? Да → Mailpit на своём хосте. Нет → хостируемый вариант дешевле, в том числе по времени на обслуживание.
Если на второй вопрос ответ «да», а на первый «нет», требования противоречат друг другу: хостируемый сервис не может гарантировать, что тестовые payload'ы не покинут ваш периметр. Лучше заметить это до переезда.
А куда девать вебхуки
Ни один из трёх не ловит HTTP-колбэки: Mailpit и MailHog умеют только SMTP, а облачные почтовые песочницы живут в мире почты. Если половина отладки — это колбэки Stripe, GitHub или Telegram, нужна и для них ловушка: см. Как ловить вебхуки локально без ngrok.
Что дальше
- Альтернатива MailHog: что использовать вместо — путь миграции подробно.
- Альтернативы Mailtrap: бесплатные, open-source и self-hosted — полный список, включая Mailcatcher и MailDev.
- Как тестировать отправку писем, ничего не отправляя — настройка любого из них за четыре шага.