Временная почта и адресные дополнения часто упоминаются вместе, но это разные инструменты с разной судьбой. Один живёт до конца сценария и исчезает, второй работает годами, третий вообще не является отдельным ящиком. Ниже разберём три подхода, их слабые места и то, как выбрать подходящий — в жизни и в автотестах.
Три способа не отдавать основной адрес
Первый способ — разовый ящик. Вы создаёте адрес на несколько минут, получаете нужное письмо и забываете о нём навсегда. Ни пароля, ни настроек, ни обязательств. Цена — полная недолговечность: ящик нельзя использовать дважды, к нему нельзя вернуться, и содержимое не сохранится.
Второй способ — постоянный псевдоним. Это отдельный адрес, который выдаёт ваш почтовый сервис и который пересылает всё в основной ящик. Выглядит он как обычный адрес, живёт столько, сколько нужно, и его можно в любой момент отключить. Переписка при этом остаётся у вас, а не у чужого сервиса.
Третий способ — дополнение к основному адресу. Вы не заводите ничего нового, а добавляете к своему имени разделитель и короткое слово. Письма продолжают приходить в основной ящик, но их можно разложить по признаку, который вы заложили в дополнение. Так удобно понимать, откуда пришла рассылка и кто передал ваш адрес дальше.
Все три решают одну задачу — не светить основной адрес везде подряд, — но делают это с разными последствиями. Если вы ещё не сталкивались с первым вариантом, начните с объяснения того, что такое разовый ящик и кому он подходит.
Чем эти варианты различаются на практике?
| Свойство | Разовый ящик | Постоянный псевдоним | Дополнение к адресу |
|---|---|---|---|
| Срок жизни | минуты или часы | пока не отключите | пока существует основной адрес |
| Пароль и вход | нет | зависит от сервиса | вход в основной ящик |
| Чтение ответов | невозможно | да, в основном ящике | да, в основном ящике |
| Можно отключить | нечего отключать | да, одной настройкой | нет, дополнение неотключаемо |
| Видно, кто передал адрес | нет | частично | да, по слову-метке |
| Годится для важных аккаунтов | нет | да | да |
Разница видна сразу. Если нужна одноразовая регистрация — берите разовый ящик. Если нужен отдельный адрес для банка, доставки или работы — псевдоним. Если задача в том, чтобы понять, кто именно сливает ваш адрес в рассылки, — подойдёт третий способ.
Есть и четвёртое различие, которое в таблицу не помещается: кто владеет содержимым. У разового ящика письмо принадлежит сервису, который выдал адрес, и лежит там до истечения срока. У псевдонима и дополнения переписка остаётся в вашем основном ящике, под вашим контролем. Для писем с подтверждением регистрации это неважно, а для счетов, чеков и уведомлений — важно: потеря доступа к такому письму означает потерю доказательства.
Кому подходит разовый адрес в автотестах?
Разовый адрес хорошо ложится на автоматические проверки, но не на всякие.
Он подходит, когда сценарий короткий и самодостаточный: зарегистрироваться, подтвердить адрес, завершить действие. Такой прогон начинается и заканчивается в пределах одного запуска, поэтому недолговечность адреса не мешает.
Он плохо подходит, когда проверяется что-то, что живёт дольше одного запуска. Если тест проверяет повторный вход, восстановление доступа или отправку письма через сутки, разовый адрес попросту исчезнет раньше, чем сценарий дойдёт до конца. Здесь нужен псевдоним или адрес из тестового домена, которым управляет команда.
Отдельный случай — проверка самого разбора адреса. Чтобы убедиться, что форма и хранилище правильно принимают необычную запись, годится любой из трёх вариантов, но проверять нужно именно ту запись, которую система должна поддерживать. Смешивать эти задачи в одном тесте не стоит: падение такого теста ничего не скажет о том, что именно сломалось.
Где какой вариант ломается?
У разового ящика два слабых места. Первое — он исчезает, и вместе с ним пропадает доступ к аккаунту, если вы зарегистрировались с его помощью на что-то важное. Восстановить пароль будет некуда. Второе — адрес часто попадает в списки временных доменов, и часть сайтов просто отказывается принимать такую регистрацию.
У постоянного псевдонима слабое место другое: он требует, чтобы сервис, который его выдал, продолжал работать. Если пересылка настроена неверно или сервис закрылся, письма начнут теряться молча. Именно поэтому после настройки стоит отправить на новый адрес пробное письмо и убедиться, что оно дошло.
Дополнение к адресу надёжнее всех, потому что не зависит от второго сервиса, но и оно не универсально. Поддерживает ли почтовая служба такой способ разделения адресов — решает сама служба, это удобная, но не гарантированная возможность. Если правило не поддерживается, письмо либо не дойдёт, либо придёт как обычно, без разделения. Где именно заканчивается поддержка, надёжнее всего проверять на собственном адресе: отправьте себе письмо с дополнением и посмотрите, что произошло.
Как это выглядит в тестах
В автоматических проверках три подхода играют разные роли, и путать их не стоит.
Для сценария, где проверяется сама регистрация, нужен разовый адрес: он гарантирует, что письмо относится именно к этому прогону. Если использовать общий ящик, тест начнёт находить чужие письма и падать без причины.
Для проверки того, что рассылка уходит на правильный адрес и что отписка работает, нужен адрес, который живёт дольше одного прогона, — здесь лучше подходит псевдоним.
Для проверки того, что система правильно обрабатывает дополнение в адресе — сохраняет его, не портит при нормализации, не считает ошибкой, — нужен именно третий вариант: только он показывает, переживёт ли строка с разделителем запись в базу и обратное чтение.
Нельзя проверять все три сценария одним и тем же адресом. Тогда непонятно, что именно сломалось: раздача адресов, пересылка или разбор строки. Один сценарий — один инструмент.
Что важно разработчику: утверждения и точки отказа
Первое решение — что именно вы собираетесь утверждать. Если проверка говорит «письмо пришло», она почти ничего не проверяет: прийти могло любое письмо, в том числе от прошлого запуска. Гораздо полезнее ограничить поиск признаками, которые однозначно принадлежат сценарию, — адресом получателя, темой, отправителем.
Второе — помнить о цепочке пересылки. Постоянный псевдоним добавляет звено между отправителем и вами. Каждое звено может задержать письмо, а иногда и отбросить его. Тест, который ждёт письмо через псевдоним, должен распознавать эту задержку как нормальную, а не как отказ.
Третье — дополнение в адресе обычно не является частью стандарта и зависит от почтовой службы. Это значит, что при смене поставщика почты поведение может измениться, а тест, построенный на таком допущении, станет ложно падать или ложно проходить. Если система принимает адреса с дополнением как обычные, это стоит зафиксировать отдельным тестом — тогда смена поведения будет заметна сразу.
Четвёртое — не полагайтесь на срок жизни. Ни один из трёх вариантов не даёт гарантии, что письмо будет доступно через день. Если сценарий требует сохранить письмо, его нужно переслать или выгрузить, а не надеяться, что ящик доживёт.
И последнее: помните о разумной границе. Все три инструмента нужны, чтобы не отдавать основной адрес повсюду и чтобы проверять свои системы. Они не предназначены для того, чтобы выдавать себя за другого человека, обходить правила сервисов или множить учётные записи. Адрес — это тестовый или защитный инструмент, не более того, и подменять им настоящую личность нельзя.
Что делать дальше
Определите, какой из трёх вариантов у вас уже есть, и проверьте его на деле: получите адрес через временную почту, отправьте себе письмо и посмотрите, как быстро оно появится. Если вы отвечаете за сервис, добавьте в проверки отдельный случай с дополнением в адресе — он дешёвый и ловит целый класс ошибок. Что происходит с письмом после отправки, подробно описано в материале о доставке письма адресату.