Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2029672
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类: Java

2008-05-18 14:15:05

通过JavaMail API收发电子邮件


一、JavaMail API简介
邮件客户程序的主要任务是向邮件服务器发送邮件,以及接受来自邮件服务器的邮件。如果用Java语言从头编写邮件客户程序,就必须通过Socket与邮件服务器通信,发送和接受符合IMAP、POP3或SMTP协议的请求和响应信息。
为了简化邮件客户程序的开发,SUN公司制定了JavaMail API,它封装了按照各种邮件通信协议,如IMAP、POP3和SMTP,与邮件服务器通信的细节,为Java应用程序提供了收发电子邮件的公共接口,如图1所示。













图1 JavaMail API封装了与邮件服务器通信的细节
本文把使用了JavaMail API的程序简称为JavaMail应用。JavaMail API主要位于javax.mail包和javax.mail.internet中,图2为其中主要类的类框图。
1. javax.mail.Session类
Session 类表示邮件会话,是JavaMail API的最高层入口类。Session对象从java.util.Properties对象中获取配置信息,如邮件发送服务器的主机名或IP地址、接受邮 件的协议、发送邮件的协议、用户名、口令及整个应用程序中共享的其他信息。
2.javax.mail.Store类
Store类表示接收邮件服务器上的注册用户的存储空间,通过Store类的getFolder()方法,可以访问用户的特定邮件夹。
3. javax.mail.Folder类
Folder类代表邮件夹,邮件都放在邮件夹中,Folder类提供了管理邮件夹以及邮件的各种方法。
4. javax.mail.Message类
Message类代表电子邮件。Message类提供了读取和设置邮件内容的方法。邮件主要包含如下内容:地址信息,包括发件人地址、收件人地址列表、抄送地址列表和广播地址列表;邮件标题;邮件发送和接收日期;邮件正文(包括纯文本和附件)。
Message是个抽象类,常用的具体子类为Javax.mail.internet.MimeMessage。MimeMessage是符合MIME规范的电子邮件。
5. javax.mail.Address类
Address类代表邮件地址,和Message类一样,Address类也是个抽象类。常用的具体子类为javax.mail.internet.InternetAddress类。
6. javax.mail.Transport类
Transport类根据指定的邮件发送协议(通常是 SMTP),通过指定的邮件发送服务器来发送邮件。Transport类是抽象类,它的静态方法send(Message)负责发送邮件。
阅读(1755) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~