Использование hMailServer для проверки электронных писем, отправленных из приложения

У меня есть веб-приложение на Java, которое рассылает уведомления по электронной почте клиентам-клиентам в различных сценариях. Содержание, расписание и т. Д. Писем определяется администраторами системы.

Я указал приложению на локальный экземпляр hMailServer в моей тестовой среде, и теперь я хочу настроить его так, чтобы все получаемые им электронные письма пересылались на набор адресов электронной почты и блокировались для отправки реальным получателям.

Так как я настраиваю это так, чтобы пользователи-администраторы могли проверять свои электронные письма, прежде чем мы переместим их в производство, было бы хорошо, если бы мне не пришлось переписывать какие-либо заголовки писем (таким образом, пользователи могут видеть, что электронная почта был бы отправлен нужным людям).

1 ответ

Я начал с добавления скрипта, который меняет тему сообщения, это вызывается в моем первом правиле.

Sub EditSubject(oMessage)
    oMessage.subject = "[TEST MESSAGE - IGNORE] " & oMessage.subject
    oMessage.save
End Sub

Это облегчает написание условий для правил позже, и если электронное письмо будет отправлено, оно по крайней мере скажет, что это тест.

Затем я настроил Маршрут, который нацелен на почтовый сервер фактической компании (просто упоминаемый как SMTPSERVER). У меня есть эта настройка для отправки только по определенным адресам, на случай, если что-нибудь выйдет за рамки правил.
Когда я впервые настраиваю это, я просто устанавливаю маршрут с доменом company.com, но кажется, что это срабатывало раньше моих правил и вызывало проблемы. В итоге я просто назвал это bounce,

Далее я добавил следующие правила:

  1. Изменить и переслать
    Это условие, которое проверяет, что тема электронной почты не содержит мой [TEST MESSAGE - IGNORE] строка, это гарантирует, что мы не вызовем это правило для новых пересылаемых сообщений.
    Затем запускаются следующие действия:

    • Запустите функцию для вызова сценария EditSubject выше
    • Переслать электронную почту (повторяется столько раз, сколько вы хотите с каждым адресом, на который хотите настроить таргетинг),
    • Удалить письмо
    • Остановить обработку правил
      Эти последние 2 просто останавливают все, что происходит с исходным сообщением.
  2. изменять маршрут
    Это условие, которое проверяет тему электронной почты, содержит [TEST MESSAGE - IGNORE] поэтому мы запускаем это правило только для переадресованных сообщений.
    Это вызывает отправку с использованием действия маршрута и нацеливается на bounce маршрут.

Конечным результатом является то, что всякий раз, когда один из моих пользователей-администраторов настраивает новое тестовое электронное письмо в тестируемом приложении, оно будет отправлено на это реле hMailServer.
Почтовый сервер редактирует тему для включения префикса "test", создает копии в своей очереди для пересылки моим установленным получателям, а затем отбрасывает оригинал.
Новые копии забираются и передаются (по маршруту) на действительный почтовый сервер компании и доставляются.

Сообщения электронной почты, которые вы получаете в конце, отображаются в Outlook с пометкой "Кому", "Копия" и т. Д., На которых отображаются исходные получатели.

Другие вопросы по тегам