走自己的路

路漫漫其修远兮,吾将上下而求索

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  50 随笔 :: 4 文章 :: 118 评论 :: 0 Trackbacks
 

JavaMail的基础上构建自己的Email Channel

基础知识

Email入门

不说太多,至于什么是EmailEmail给我们带来什么好处,也就不唠叨了。但是先得看下Email的数据结构,因为我们需要根据领域逻辑,进行面向对象的设计。



现在通过webmailoutlook发的邮件一般都是MIME邮件,如上图,但不同的client也可能稍微有所不同。

邮件是由邮件头和邮件体组成的,每个体部分由头域、空行、体组成。但几个值得注意的header

Content-Type

每个邮件体都有个content type。说明该邮件体的类型,编码,boundary等。包括:主类型,如MultipartTextImage;子类型:如plainhtmlalternative;参数:如charsetboundary等。

Content-Disposition

我们可以通过参数来辨别某个邮件体是否是附件,附件的类型,附件的名字等。

Content-Id

Content id是邮件体的唯一标识,可以被其他邮件体所引用。我们发的HTML邮件里常常可以引用附件中的图片,就是通过CID引用的。

Content-Transfer-Encoding

转换邮件编码格式用于传输。有些传输协议对数据格式有所限制。

IMAP4 POP3

IMAP4优于 POP3

·         IMAP可预取email的元数据信息:header,根据header做过滤。

·         可以实现直接连接到服务器上进行邮件的筛选,我把它称为select操作。

JavaMail

·         Transport发邮件:SMTPTransport

·         Store收邮件:IMAPStore, POP3Store

JavaMailMIME邮件设计的数据结构:



 

参考文章:

http://www.javaworld.com/javaworld/jw-10-2001/jw-1026-javamail.html?page=2

http://en.wikipedia.org/wiki/MIME

http://www.freesoft.org/CIE/RFC/1521/

<<面向对象的邮件解析器的设计与实现>>




posted on 2010-01-16 12:33 叱咤红人 阅读(1860) 评论(0)  编辑  收藏 所属分类: JDBC JNDI JMS RMI EJB and Other J2EE Tech

只有注册用户登录后才能发表评论。


网站导航: