【问题标题】:Why i should use ActiveMQ for send emails?为什么我应该使用 ActiveMQ 发送电子邮件?
【发布时间】:2010-11-19 15:56:07
【问题描述】:

许多周前推荐我发送电子邮件,ActiveMQ。所以我搜索有关此的信息,但我不完全了解它是如何工作的。有人能解释一下为什么我应该使用 ActiveMQ 发送电子邮件吗?

【问题讨论】:

    标签: java messaging activemq


    【解决方案1】:

    您可能应该看看 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 框架可用于执行此操作。

    【讨论】:

      【解决方案2】:

      Active MQ 与发送电子邮件无关。 Active MQ 用于通过网络发送消息。发送电子邮件时,您只需要 smtp 主机服务器详细信息。

      【讨论】:

        【解决方案3】:

        @oxbow_lakes 的回答可能对您的情况是正确的,但还有另一种可能性。 也许该建议(使用 ActiveMQ)的原因是希望发送电子邮件的客户端应用程序可以通过 ActiveMQ 将发送电子邮件的任务委托给电子邮件服务应用程序。我可以看到的好处是调用将是异步的,因此即使有数百万封电子邮件要发送,客户端应用程序也不会阻塞,因为这可以由后台的电子邮件服务应用程序处理。

        【讨论】:

        【解决方案4】:

        我认为出现了沟通障碍。 ActiveMQ 是一个 “消息” 系统 - 这与电子邮件无关!消息系统(AMQ 建立在 AMQp 消息协议之上)是关于数据的可靠通信,并解决以下问题:

        • 发布/订阅
        • 点对点
        • 保证交货

        【讨论】:

        • 我必须指出,我似乎找不到任何解释为什么要在他们的网站上使用 ActiveMQ,所以 OP 的困惑不足为奇。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-12
        • 2011-03-05
        • 2016-05-02
        • 2011-08-14
        • 2018-09-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多