扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
引言
JavaMail API(Application Programming Interface,应用程序编程接口)是一套消息通信框架,用来构建平台无关、并使用e-mail消息传递机制的应用程序。它包含于J2EE平台(一种Java平台环境),而对于J2SE则是一个可选包。这套API的主要目的不是用来传输、发送和转发邮件信息,而是为发送和接受邮件提供一种与协议无关的邮件结构访问接口。
总览
JavaMail API分为两大部分:
这套API的主要部分集中用作收发邮件(不依赖于协议)。
API的第二个部分则执行协议相关的语言,诸如SMTP、POP、IMAP和NNTP。使用JavaMail API时,要和服务器获得通信你需要一个对应某个协议的provider(服务提供者)。(有关协议相关的服务提供者的创建不在本文讨论范围中,不过Sun免费提供了一组充分够用的服务提供者,至少包括SMTP、POP和IMAP,这对于标准互联网架构上收发标准e-mail消息已经绰绰有余了。)
现在还可以自动注册!所有版本的JavaMail API都需要先安装JavaBeans Activation Framework,它用来加强对任意数据块进行类型测定的支持,并对不同类型数据做相应的正确处理。JavaMail实施该框架下的MIME(多用途忘记邮件扩充协议)方案。MIME方案定义了在一封e-mail中要发送的内容:信息格式、附件,等等。一个应用程序要使用JavaMail,必须包含classpathmail.jar和activation.jar,这样才能正确执行。如果你使用的是J2EE,为了使用这些基本的JavaMail API,你无需做专门的工作,它们本身就和J2EE的类库放在一起。
在2006年,JavaMail开放了源代码,这项开源工程称为GlassFish,在其拥有开源许可证条件下,你现在可以获得作为该工程的一部分的JavaMail API实施参考。
类
这里概括了JavaMail 应用程序用到的几个最重要的类。
javax.mail.Session类:这个类用于控制对其它邮件类实例的访问,那些邮件类实例代表了该邮件系统所提供的服务,举例如javax.mail.Store类。(注意不要把这个类和javax.servlet.http.HttpSession类相混。)
javax.mail.Transport类:这个类用来通过服务提供者执行的特定协议(如SMTP)来发送邮件消息。
javax.mail.Store类:这个类由服务提供者执行。它致力于实现特定邮件协议(比如POP3或者IMAP4)上的读、写、监视,以及查找操作。通过这个类可以得到javax.mail.Folder类的指针。
javax.mail.Folder类:这个类给出javax.mail.Message类对象的分级视图,并提供对特定消息访问并进行读取、删除和回复操作。
javax.mail.internet.MimeMessage类:这个类是实际邮件消息的模板。当它首次创建时包含的关于该消息的信息和数据非常有限;随着后继的方法从该消息中找到更多数据,这个类便用来存储这些数据。
javax.mail.internet.InternetAddress类:这个类规范化符合RFC822(互联网标准)的e-mail地址,也就是格式形如peter@mikhalenko.ru的地址。遇到不正确的地址格式时,将导致错误,并在处理该e-mail地址的Java方法内抛出一个AddressException例外。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者