Где-то в вашем наборе тестов есть процесс регистрации, который никогда не тестировался с реальным почтовым ящиком. Письмо с подтверждением отправлено, тест пройден, потому что API вернул 200, и никто не проверяет, работает ли ссылка, отображается ли сообщение или попадает ли оно в спам.
Тестовые аккаунты не должны находиться в вашем личном почтовом ящике. Но очевидное решение — указать все на одноразовый адрес — верно лишь наполовину. Вот когда помогает временный почтовый ящик, когда лучше использовать локальный почтовый приемник и как не запутаться в собственном черном списке.
Начните с того, что вы тестируете
Правильный инструмент следует из вопроса:
| Вопрос | Лучший инструмент |
|---|---|
| Правильно ли отображается электронное письмо с подтверждением и ссылка? | Локальный почтовый приемник (Mailpit, MailHog) |
| Доставка работает через реального провайдера и реальный DNS? | Одноразовый почтовый ящик |
| Работает ли поток на телефоне с реальным временем пользователя? | Одноразовый почтовый ящик |
| Могу ли я проверить необработанные заголовки и вложения? | Местный почтовый приемник |
| Будет ли одноразовый домен принят в моей форме регистрации? | Зависит от вашего черного списка |
Когда одноразовый почтовый ящик — правильный выбор
- Сквозные проверки.Вы хотите видеть, что на самом деле поступает через Интернет, а не то, что получил ваш локальный SMTP-сервер.
- Дымовые тесты на доставляемость.Отправьте письмо от своего поставщика продукции на одноразовый адрес и убедитесь, что оно не попадет в спам и не будет удалено.
- Мобильное тестирование.Временный почтовый ящик — это одно касание телефона; локальный приемник требует туннеля и изменения конфигурации.
- Ручной контроль качества.Тестировщик может создать адрес, завершить поток и прочитать почту, не затрагивая общую тестовую учетную запись.
Когда местная раковина лучше
Если вы утверждаете содержимое сообщения, локальный приемник будет быстрее и надежнее. Mailpit или MailHog предоставляют вам API, необработанный MIME, проверку вложений и отсутствие ограничений по скорости. Вы можете запустить сотню регистраций в цикле, не беспокоясь о том, что провайдер ограничит вас или заблокирует домен.
Компромисс заключается в том, что локальный приемник обходит реальный путь доставки. Он не сообщит вам, что ваша запись SPF неверна, что ваш отправляющий домен находится в черном списке или что Gmail отправляет электронное письмо с подтверждением в раздел «Промоакции».
Используйте оба в этом порядке
- Локальный приемник логики.Подтвердите ссылку, токен, срок действия и отображаемый HTML. Это быстрый цикл, который вы запускаете при каждом коммите.
- Одноразовый почтовый ящик для доставки.Запустите тот же поток для промежуточной обработки с реальным поставщиком и временным адресом. Проверьте размещение в почтовом ящике, переписывание ссылок и рендеринг на мобильных устройствах.
- Настоящий почтовый ящик для финальной проверки.Один раз для каждого выпуска используйте адрес на Gmail, Outlook и одном корпоративном домене. Вот где живут странные ошибки, специфичные для клиента.
Не блокируйте собственные тесты
Если ваш продукт блокирует одноразовые домены (а многие так и делают), ваш собственный контроль качества потерпит неудачу еще до того, как начнется. Два варианта:
- Добавьте в белый список свои тестовые домены в промежуточном режиме.Сохраняйте рабочий черный список нетронутым, но позвольте вашей тестовой среде принимать адреса, которые используют ваши тестировщики.
- Используйте выделенный тестовый домен.Контролируемый вами поддомен, направленный в приемник, чище, чем ослабление производственного правила.
Никогда не отключайте черный список глобально, чтобы пройти тест. Вот так временный ярлык QA становится постоянной дырой.
Вещи, которые ломаются в реальных почтовых ящиках
Вот неисправности, которые местная мойка никогда вам не покажет:
- Переписывание ссылок.Шлюзы безопасности электронной почты переписывают каждый URL-адрес. Ваша волшебная ссылка может прийти упакованной и сломанной.
- Блокировка изображения.Логотип исчезает, а макет вокруг него сворачивается.
- Темный режим.Белая карточка на белом фоне становится белым прямоугольником.
- Длинные коды.Шестизначный код подойдет; токен из 64 символов заворачивается и выглядит как неработающая ссылка.
- Срок годности.Код, срок действия которого истекает через десять минут, непригоден для использования, если доставка занимает четыре.
- Размещение спама.Сбои аутентификации, новый отправляющий домен или триггерное слово могут отправить транзакционное электронное письмо в спам.
Небольшой чек-лист для следующего релиза
- Ссылка подтверждения открывает нужную среду и выполняет вход пользователя один раз.
- Срок действия кода истекает ровно тогда, когда пользовательский интерфейс говорит об этом.
- Повторная отправка работает и ограничена по скорости.
- Сообщение отображается с шириной 320 пикселей, изображения блокируются.
- Альтернатива в виде обычного текста существует и содержит ту же ссылку.
- Ссылки на отмену подписки и настройки работают для маркетинговой почты, а не только для транзакционных рассылок.
- Адрес можно изменить после регистрации.
Тестирование электронной почты непривлекательно и почти всегда его пропускают. Команды, которые этим занимаются, выявляют сбои, о которых пользователи никогда не сообщают — они просто уходят. Если вам нужен настоящий почтовый ящик для пропуска доставки,сгенерируйте его здесь; для логического прохода сохраните локальный приемник. И если вы задаетесь вопросом, справедливо ли ваше собственное использование одноразовых адресов,эта штука на испытанияхрисует линию.