Как отправлять уведомления по электронной почте (пользователь зарегистрирован, импорт завершен) с помощью Spring - PullRequest
0 голосов
/ 29 февраля 2012

Полагаю, это не конкретный вопрос, а получение идей о том, как это сделать.

У нас есть веб-приложение Flex - Spring - JMS - Hibernate. Наше требование - отправлять автоматические электронные письма, когда происходит какое-либо событие (новый пользователь зарегистрирован, пользователь успешно выполнил импорт). У нас будет адрес электронной почты, содержание, тема и т. Д. В БД. У нас могут быть жестко заданы настройки почтового сервера (или в БД). Я хотел бы иметь это как отдельную услугу для повторного использования. Я хотел бы получить ваши отзывы о том, как этого добиться, а также предоставить некоторые оптимальные решения о том, что будет лучшим способом. Использую ли я JMS для этого или Spring Mail Sender. Что является более эффективным и новейшим.

Надеюсь, мой вопрос не слишком расплывчатый. Ваш вклад оценивается как всегда:)

Спасибо

Harry

1 Ответ

3 голосов
/ 29 февраля 2012

Вот несколько простых вариантов (от лучших до худших):

  1. Поддержка по электронной почте Spring

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

    Это самый простой подход (не считая кодирования в сырой JavaMail API). Если вам нужно просто отправить по электронной почте, вам больше ничего не нужно. Вы можете ежедневно вводить JavaMailSender везде, где это необходимо.

  2. Поддержка по электронной почте in

    Spring Integration обеспечивает поддержку исходящей электронной почты с MailSendingMessageHandler. Он делегирует настроенному экземпляру Spring JavaMailSender [...]

    Это решение построено поверх 1. Если вам нужен многократно используемый сервис с объединенными корпоративными шаблонами интеграции (такими как фильтрация, маршрутизация, расширение и т. Д.) И большой гибкостью. Если ваше приложение сильно интегрируется, это может быть разумным выбором, но оно немного тяжелее, когда дело доходит до обслуживания.

  3. SMTPAppender in

    SMTPAppender накапливает события журналирования [...] и отправляет содержимое [...] по электронной почте после того, как происходит указанное пользователем событие. Передача (отправка) электронной почты SMTP выполняется асинхронно.

    Этот аппендик Logback обычно используется для отправки электронной почты вашей службе поддержки / администратору при возникновении ОШИБКИ, содержащей само событие ошибки и несколько предыдущих событий. Но с небольшим количеством конфигурации вы можете легко использовать его для захвата определенных событий в вашем приложении (инициируемых инструкциями регистрации) и отправки сообщений. Однако это будет немного громоздко и недостаточно гибко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...