在JavaMail的基础上构建自己的Email Channel(1):基础知识

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

基础知识

Email入门

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


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

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

Content-Type

每个邮件体都有个content type。说明该邮件体的类型,编码,boundary等。包括:主类型,如Multipart,Text,Image;子类型:如plain,html,alternative;参数:如charset,boundary等。

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

JavaMail为MIME邮件设计的数据结构:



 

参考文章:

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/

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值