📜  JavaMail API-概述

📅  最后修改于: 2020-11-14 07:20:12             🧑  作者: Mango


JavaMail API提供了独立于平台和协议的框架来构建邮件和消息传递应用程序。 JavaMail API提供了一组抽象类,这些抽象类定义了组成邮件系统的对象。它是用于阅读,编写和发送电子消息的可选程序包(标准扩展名)。

JavaMail提供了用于构造到消息传递系统的接口的元素,包括系统组件和接口。尽管此规范未定义任何特定的实现,但JavaMail确实包含几个实现RFC822和MIME Internet消息传递标准的类。这些类作为JavaMail类包的一部分提供。

以下是JavaMail API支持的一些协议:

  • SMTP简单邮件传输协议的缩写。它提供了一种传递电子邮件的机制。

  • POP邮局协议的缩写。 POP是Internet上大多数人用来获取邮件的机制。它为每个用户定义了对单个邮箱的支持。 RFC 1939定义了此协议。

  • IMAPInternet邮件访问协议的缩写。它是用于接收消息的高级协议。它为每个用户提供了多个邮箱的支持,此外,邮箱可以由多个用户共享。它在RFC 2060中定义。

  • MIME多用途Internet邮件扩展的首字母缩写。 。它不是邮件传输协议。相反,它定义了要传输的内容:消息,附件的格式等。有许多不同的文档在这里生效:RFC 822,RFC 2045,RFC 2046和RFC2047。作为JavaMail API的用户,您通常不必担心这些格式。但是,这些格式确实存在,并由您的程序使用。

  • NNTP和其他:第三方提供商提供了许多协议。其中一些是网络新闻传输协议(NNTP),安全多用途Internet邮件扩展(S / MIME)等。

这些细节将在后续章节中介绍。

建筑

如上所述,java应用程序使用JavaMail API编写,发送和接收电子邮件。下图说明了JavaMail的体系结构:

JavaMail API架构

JavaMail API的抽象机制类似于其他J2EE API,例如JDBC,JNDI和JMS。如上面的架构图所示,JavaMail API分为两个主要部分:

  • 与应用程序无关的部分:应用程序编程接口(API)被应用程序组件用来发送和接收邮件消息,而与所使用的基础提供程序或协议无关。

  • 服务相关部分:服务提供商接口(SPI)讲特定于协议的语言,例如SMTP,POP,IMAP和网络新闻传输协议(NNTP)。它用于将电子邮件服务的提供程序插入J2EE平台。