Эти три названия всегда всплывают вместе, хотя отвечают на разные вопросы. 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-экспортом для скриптов и ИИ. Его нельзя поставить себе — в этом и суть компромисса.

Решают два вопроса

  1. Хотите ли вы это запускать? Да → Mailpit (или smtp4dev на .NET). Нет → хостируемый вариант: этот инстанс, либо коммерческая песочница, если нужны командные функции и договор.
  2. Должны ли тестовые данные оставаться внутри вашей инфраструктуры? Да → Mailpit на своём хосте. Нет → хостируемый вариант дешевле, в том числе по времени на обслуживание.

Если на второй вопрос ответ «да», а на первый «нет», требования противоречат друг другу: хостируемый сервис не может гарантировать, что тестовые payload'ы не покинут ваш периметр. Лучше заметить это до переезда.

А куда девать вебхуки

Ни один из трёх не ловит HTTP-колбэки: Mailpit и MailHog умеют только SMTP, а облачные почтовые песочницы живут в мире почты. Если половина отладки — это колбэки Stripe, GitHub или Telegram, нужна и для них ловушка: см. Как ловить вебхуки локально без ngrok.

Что дальше