JavaMail 简介

1、JavaMail API提供了一种与平台无关和协议独立的框架来构建邮件和消息应用程序。 JavaMail API提供了一组抽象类定义构成一个邮件系统的对象。它是阅读,撰写和发送电子信息的可选包(标准扩展);

2、JavaMail 规定,用于构造一个接口,一个消息传送系统中的元素,包括系统的部件和接口。虽然本规范没有定义任何特定的实现,JavaMail是否包括实现RFC822和MIME Internet邮件标准几类。这些类都作为JavaMail的类包的一部分;


3、JavaMail 支持的邮件协议:



SMTP

简单邮件传输协议。它提供传送邮件的机制

POP

邮局协议。 POP是大多数人在互联网上使用,以获得他们的邮件的机制。它定义了一个单个邮箱的支持为每个用户。 RFC 1939定义了该协议

IMAP

Internet邮件访问协议。它是一种先进的协议,用于接收消息。它提供了多个邮箱的支持为每个用户,除了邮箱可以被多个用户共享。它是在RFC2060中定义

MIME

多用途Internet邮件扩展。 。这不是一个邮件传输协议。相反,它定义了什么是传输的内容:邮件,附件,等等的格式。有许多不同的文档生效这里:RFC822,RFC2045,RFC2046和RFC2047。作为 JavaMail API 用户,您通常不需要担心这些格式。然而,这些格式确实存在,并且由程序使用。

NNTP

由第三方供应商提供的许多协议。其中有些是网络新闻传输协议(NNTP),安全多用途Internet邮件扩展(S / MIME)等


JavaMail 体系结构


 

JavaMailSender 动态设置 javamail是一组_Internet



JavaMail API 的抽象机制类似于其他的J2EE API(如JDBC,JNDI和JMS)。

如上面看到的体系结构图,JavaMail API 被分为两个主要部分:

  • 与应用程序无关的部分:应用程序编程接口(API)是由应用程序使用的组件来发送和接收邮件,独立于底层的供应商或协议中使用的。
  • 一个服务相关的部分:一个服务提供商接口(SPI)说,协议特定的语言,如SMTP,POP,IMAP和网络新闻传输协议(NNTP)。它是用来插在一封邮件服务到J2EE平台的供应商。

JavaMail 安装

使用 JavaMail API,首先要安装 JavaMail 和 JavaBean Activation Framework(JAF);


JavaMail:http://www.oracle.com/technetwork/java/javamail/index.html


JAF:http://www.oracle.com/technetwork/articles/java/index-135046.html

在工程包依赖中,导入 mail.jar 和 activation.jar 包;


※ 对于 Java6 及更高的版本,JDK本身的 javax.activation 已经提供了JAF框架,可以不用在向工程中导入JAF框架