为什么JMS通过Java Mail发送邮件

sun*_*leo 3 java email jms jakarta-mail

场景1:

  1. 在服务器中设置JMS队列
  2. 用于将消息发送到生产者的Java代码创建一个JMS生成器,在调用时,应该接收电子邮件数据(subject,body,to,cc等)并将其发布到步骤1中的Queue设置
  3. 创建一个JMS使用者,它订阅在步骤1中创建的队列,并且其onMessage应该调用JavaMail API来发送电子邮件.

场景2:

  • 直接调用JavaMail API发送电子邮件.

我知道如何使用以及JMS和Java Mail正在做什么.Thing是我们必须从场景2到场景1发送邮件的原因.最初我们做了场景2.现在我们正在使用场景1.从不同的部分大应用程序正在发送邮件,所以我们使用JMS队列,会有邮件消费者从那里发送邮件.请帮我理解.

mik*_*kea 11

您将在大型应用程序中使用此机制有两个原因:

1)您不希望您的客户必须等待邮件发送.

2)如果因任何原因失去与邮件服务器的连接,您不想丢失邮件.


oox*_*oxi 5

如果您在本地计算机附近没有可靠的MTA但需要确保将发送邮件,则可以执行此操作.例如,如果网络中断,但您依靠Java Mail发送邮件而没有其他逻辑,则根本不会发送您的邮件.

使用JMS,只要真正的MTA再次可用,您就可以重新安排邮件进行传输.