Почему я должен использовать ActiveMQ для отправки электронных писем?

StackOverflow https://stackoverflow.com/questions/1277992

  •  16-09-2019
  •  | 
  •  

Вопрос

много недель назад порекомендовал мне для отправки электронных писем ActiveMQ.Поэтому я ищу информацию об этом, но я не совсем понимаю, как это работает.Может ли кто- нибудь объяснить мне, почему я должен использовать ActiveMQ для отправки электронных писем?

Это было полезно?

Решение

Я думаю, что произошел сбой в общении. ActiveMQ является "обмен сообщениями" система - это не имеет никакого отношения к электронной почте!Система обмена сообщениями (AMQ построена на протоколе обмена сообщениями AMQp) - это примерно надежная передача данных и решает такие вопросы, как:

  • Опубликовать / подписаться
  • От точки к точке
  • Гарантированная доставка

Другие советы

Ответ @oxbow_lakes, возможно, правильный для вашей ситуации, но есть и другая возможность.Возможно, причина этой рекомендации (использовать ActiveMQ) заключалась в том, что клиентское приложение, которое хочет отправить электронное письмо, может делегировать задачу отправки электронного письма приложению службы электронной почты через ActiveMQ.Преимущество, которое я вижу, заключается в том, что вызов будет асинхронным, поэтому клиентское приложение не будет блокировать, даже если нужно отправить миллионы электронных писем, поскольку об этом может позаботиться приложение службы электронной почты в фоновом режиме.

Вероятно, вам стоит взглянуть на JavaMail.

http://java.sun.com/products/javamail/FAQ.html

import javax.mail.*;
import javax.mail.internet.*;

import java.util.Properties;

public class SimpleMail {
    public static void main(String[] args) throws Exception{
      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", "mymail.server.org");
      props.setProperty("mail.user", "emailuser");
      props.setProperty("mail.password", "");

      Session mailSession = Session.getDefaultInstance(props, null);
      Transport transport = mailSession.getTransport();

      MimeMessage message = new MimeMessage(mailSession);
      message.setSubject("Testing javamail plain");
      message.setContent("This is a test", "text/plain");
      message.addRecipient(Message.RecipientType.TO,
           new InternetAddress("mum@marhsall.com"));

      transport.connect();
      transport.sendMessage(message,
          message.getRecipients(Message.RecipientType.TO));
      transport.close();
    }
}

Я думаю, вы могли бы использовать AMQ для постановки в очередь сообщений электронной почты для отправки на конечную точку SMTP.Для этого можно использовать фреймворк Mule.

Активный MQ не имеет никакого отношения к отправке электронных писем.Активный MQ используется для отправки сообщений по сети.В то время как для отправки электронных писем все, что вам нужно, - это данные хост-сервера smtp.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top