#email #mocking #smtp #uat
Вопрос:
Проблема и цель
Моему текущему проекту необходимо выполнить приемочные тесты пользователей, которые включают тестирование электронных писем, таких как уведомления по электронной почте, когда требуются действия в системе.
Моя цель-создать настройку электронной почты, которая будет перехватывать все электронные письма, за исключением домена клиента.
База данных содержит реальные электронные письма (например, электронные письма клиентов и поставщиков), и она должна оставаться такой. Причина в том, что было бы громоздко менять все адреса электронной почты, и это все равно не помешало бы никому изменять электронные письма и отправлять их в реальный мир.
В настоящее время мы используем макет SMTP (Papercut SMTP). Он собирает все исходящие электронные письма в один почтовый ящик. Проблема в том, что почтовый ящик скоро будет переполнен из-за одновременного тестирования многими пользователями, и у пользователей также нет легкого доступа к клиенту Papercut.
Поэтому мне бы хотелось, чтобы решение перехватывало все исходящие электронные письма (как в настоящее время), но перенаправляло все электронные письма, которые должны быть доставлены в собственный домен клиента.
Текущее решение и альтернативы
В Papercut я могу настроить регулярное выражение и пересылать отдельные электронные письма. Однако я не могу динамически проверять домен электронной почты и пересылать его на тот же адрес электронной почты, если он находится в домене клиента.
Я также исследовал другие фиктивные SMTP-решения, в частности Mailtrap, smtp4dev, MockSMTP, MailHog, MailSlurper, MailCatcher, FakeSMTP, SMTP-ведро и LunaticSMTP.
Mailtrap потенциально может быть решением, и я спросил их об этом (я обновлю здесь, когда получу ответ). Остальные, похоже, не в состоянии сделать то, что мне нужно.
ОБНОВЛЕНИЕ: Mailtrap действительно обладает нужной функциональностью. Однако это платное решение.
Вопрос
Знаете ли вы какой-нибудь способ, которым я могу достичь этой цели? Или о каких-либо других/лучших способах сделать это?