Как тестировать отправку писем, ничего не отправляя (настройка SMTP-песочницы)
SMTP-песочница за четыре шага и проверка настоящего письма в CI: примеры для Laravel, Django, Node и командной строки плюс детали, которые ломаются в проде.
Перехватывайте письма, отправленные по SMTP, и изучайте любые HTTP-запросы в реальном времени. Идеально для staging и локальной разработки: никаких реальных ящиков и сюрпризов для клиентов.
Три шага от вашего приложения до песочницы.
Зарегистрируйтесь и получите SMTP-креды для инбокса или универсальный URL для вебхуков.
Укажите хост, порт, логин и пароль в приложении либо отправьте HTTP-запрос на URL вебхука.
Письма и запросы появляются мгновенно со всеми заголовками, телом, вложениями и метаданными.
Всё, что нужно для безопасного тестирования почты и интеграций.
Подключите любой SMTP-клиент. Письма разбираются и сохраняются: HTML, текст, заголовки и вложения.
Один URL, принимающий любой метод и тип содержимого: сохраняются метод, URL, заголовки, тело, IP и время.
Делитесь результатами ссылкой с истечением срока и мгновенным отзывом доступа.
Ищите письма по отправителю, получателю или теме, а запросы — по методу, URL или телу.
Списки обновляются сами, поэтому новые письма и запросы появляются без перезагрузки.
Захваченные данные удаляются автоматически по истечении настраиваемого срока хранения.
Интерфейс на английском и русском; переключается в шапке или в профиле.
Все отметки времени показываются в часовом поясе посетителя, определённом автоматически.
Смотрите точный запрос, который отправляет провайдер: query-строку, заголовки, JSON-тело и IP. Затем удалите, найдите или поделитесь.
Пошаговые статьи: настроить почтовую песочницу, отладить вебхуки и сохранить тестовые данные приватными.
SMTP-песочница за четыре шага и проверка настоящего письма в CI: примеры для Laravel, Django, Node и командной строки плюс детали, которые ломаются в проде.
Четыре способа тестировать вебхуки локально: постоянный catch-all URL, туннель, повторная доставка от провайдера и локальная ловушка — плюс разбор запроса и проверка подписи.
Что использовать вместо Mailtrap: Mailpit, smtp4dev и заброшенный MailHog в сравнении с приватно хостируемой песочницей, плюс чек-лист переезда за десять минут.
Хватит вставлять скриншоты в чат: та же read-only ссылка отдаёт JSON или простой текст, чтобы модель проверила тему, заголовки, ссылки и тело каждого письма.
MailHog не поддерживается уже несколько лет. Чем его заменить (Mailpit, smtp4dev, приватно хостируемая песочница), как переехать за пять минут и что вы при этом теряете.
Mailpit вы запускаете сами, MailHog — то, что он заменил, Mailtrap — сервис по подписке: сравнение по обслуживанию, цене, месту хранения писем и командным функциям.
Что такое mailtrap.io, чем ограничен его бесплатный тариф по счётчику, что означают запросы «mail trap», «trap email» и «mailtrap login» — и какие есть бесплатные альтернативы.
Сервис Mailpit для вашего compose-файла: порты, том с данными чтобы письма переживали перезапуск, конфигурации приложений, healthcheck для CI и ошибки, которые стоит знать заранее.
Mail::fake() доказывает, что код вызвал отправку; настоящая SMTP-песочница доказывает, что письмо правильное. Обе настройки, стили проверок, ловушка с очередью и ошибки, из-за которых сломанное письмо уходит в прод.
На что смотреть, когда перехваченные payload-ы настоящие: отзыв доступа, noindex, история запросов, read-only шаринг и машинный экспорт — и как на каждый пункт отвечает этот инстанс.
Верно. SMTP-сервер только принимает письмо, сохраняет его и показывает в дашборде. Он никогда не пересылает письма в реальный ящик — любой адрес получателя принимается и отбрасывается.
Вы получаете уникальный URL. Любой отправленный на него HTTP-запрос (GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD) сохраняется вместе с методом, путём, query-строкой, заголовками, телом, IP и временем.
Да. Создайте ссылку только для чтения на инбокс или вебхук, задайте срок действия и отзывайте доступ в любой момент.
Да — и устанавливать ничего не нужно: этот инстанс хостится для вас. Ни тарифов, ни лимитов на письма, ни сторонней аналитики и почтовых вендоров в цепочке.
Нет. Для всех ссылок, запросов и страниц приложения отдаются директивы noindex, поэтому поисковики не сохраняют ваши тестовые данные.
Создайте инбокс, скопируйте SMTP-креды и забудьте о случайных письмах реальным клиентам.