Использование hMailServer для проверки электронных писем, отправленных из приложения
У меня есть веб-приложение на Java, которое рассылает уведомления по электронной почте клиентам-клиентам в различных сценариях. Содержание, расписание и т. Д. Писем определяется администраторами системы.
Я указал приложению на локальный экземпляр hMailServer в моей тестовой среде, и теперь я хочу настроить его так, чтобы все получаемые им электронные письма пересылались на набор адресов электронной почты и блокировались для отправки реальным получателям.
Так как я настраиваю это так, чтобы пользователи-администраторы могли проверять свои электронные письма, прежде чем мы переместим их в производство, было бы хорошо, если бы мне не пришлось переписывать какие-либо заголовки писем (таким образом, пользователи могут видеть, что электронная почта был бы отправлен нужным людям).
1 ответ
Я начал с добавления скрипта, который меняет тему сообщения, это вызывается в моем первом правиле.
Sub EditSubject(oMessage)
oMessage.subject = "[TEST MESSAGE - IGNORE] " & oMessage.subject
oMessage.save
End Sub
Это облегчает написание условий для правил позже, и если электронное письмо будет отправлено, оно по крайней мере скажет, что это тест.
Затем я настроил Маршрут, который нацелен на почтовый сервер фактической компании (просто упоминаемый как SMTPSERVER). У меня есть эта настройка для отправки только по определенным адресам, на случай, если что-нибудь выйдет за рамки правил.
Когда я впервые настраиваю это, я просто устанавливаю маршрут с доменом company.com
, но кажется, что это срабатывало раньше моих правил и вызывало проблемы. В итоге я просто назвал это bounce
,
Далее я добавил следующие правила:
Изменить и переслать
Это условие, которое проверяет, что тема электронной почты не содержит мой[TEST MESSAGE - IGNORE]
строка, это гарантирует, что мы не вызовем это правило для новых пересылаемых сообщений.
Затем запускаются следующие действия:- Запустите функцию для вызова сценария EditSubject выше
- Переслать электронную почту (повторяется столько раз, сколько вы хотите с каждым адресом, на который хотите настроить таргетинг),
- Удалить письмо
- Остановить обработку правил
Эти последние 2 просто останавливают все, что происходит с исходным сообщением.
изменять маршрут
Это условие, которое проверяет тему электронной почты, содержит[TEST MESSAGE - IGNORE]
поэтому мы запускаем это правило только для переадресованных сообщений.
Это вызывает отправку с использованием действия маршрута и нацеливается наbounce
маршрут.
Конечным результатом является то, что всякий раз, когда один из моих пользователей-администраторов настраивает новое тестовое электронное письмо в тестируемом приложении, оно будет отправлено на это реле hMailServer.
Почтовый сервер редактирует тему для включения префикса "test", создает копии в своей очереди для пересылки моим установленным получателям, а затем отбрасывает оригинал.
Новые копии забираются и передаются (по маршруту) на действительный почтовый сервер компании и доставляются.
Сообщения электронной почты, которые вы получаете в конце, отображаются в Outlook с пометкой "Кому", "Копия" и т. Д., На которых отображаются исходные получатели.