У нас есть тестовая среда, которая в значительной степени является копией производственной среды для наших веб-приложений.
Раньше адреса электронной почты с данными о клиентах очищались, чтобы письма от тестовых систем не попадали в небытие. Но наши тестировщики говорят нам, что они хотели бы сохранить этот адрес электронной почты уникальным, то есть идеально сопоставленным с реальными.
Я подумал, что полезный метод очистки без потери информации - это удалить все точки в адресе электронной почты, а затем прикрепить ".somewordlongerthanfourcharacters" к компьютерной части адреса. Это позволило бы тестировщикам узнать реальный адрес клиента ("herbert@ibmcom.someword -> herbert@ibm.com"), а также мы могли бы настроить внутренний сервер с именем "someword", чтобы он получал электронные письма для всех поддоменов " какое-то слово ".
Это полезная идея или есть более эффективные методы для ее достижения? Должен ли я использовать зарезервированный тестовый домен или что-то в этом роде?
Я был бы обеспокоен всеми отчетами о недоставке, которые вы бы сделали ... Это может сильно раздражать.
Другой вариант, который вы могли бы использовать, - установить сервер smtp в качестве цели разработки и настроить его так, чтобы он просто принимал и отбрасывал исходящие сообщения. Надеюсь, в вашем приложении есть какая-то глобальная переменная, определяющая SMTP-сервер для ретрансляции.
Убедитесь, что в тестовой среде есть собственный DNS, и сопоставьте имена производственных компьютеров с машинами в тестовой среде. Сделайте из машин почтовый ретранслятор (что вам, вероятно, следует сделать и в производственной среде, вместо того, чтобы все вещи располагались на одном имени хоста) и просто настройте тестовый почтовый ретранслятор, чтобы он ничего не делал.
Если вы полагаетесь на smtp-сервер в локальном ящике, вам, вероятно, следует дать ему псевдоним, исходя из предположения, что вы можете получить слишком большую нагрузку на ящик и захотите отправить электронное письмо через другой сервер.
Я использовал это решение в прошлом. Добавил что-то вроде .test.local ко всем адресам электронной почты. Если у вас есть контроль над DNS, вы можете создать внутренний DNS-домен и настроить почтовый сервер с общим адресом для тестирования, чтобы избежать всех отчетов о недоставке.
Конечно, больше всего беспокоит то, что происходит, когда кто-то «забывает» очистить данные и запускает тесты?
Совет, что добавить? сделайте это чем-то, что нельзя разрешить в Интернете, например .local