邮箱系统原理——JavaMail中邮件内容结构

JavaMail API是sun公司为方便Java开发人员在应用程序中时间邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP和MIME等。JavaMail中的核心的API类有Message、Transport、Store和Session四个类

Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。

Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象。

Store类是接受邮件的核心API,它的实例对象代表了某一个邮件接收协议的邮件接收对象

Session类定义了整个应用程序所需要的环境信息,以及收集客户端与邮件服务器简历网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接受协议等。

Message是一个抽象类,其子类为MimeMessage类表示整封邮件

如果要创建一封包含内嵌资源或多个附件的复杂邮件,则需要同时使用到JavaMail API中的MimeMessage、javax.mail.internet.MimeBodyPart和javax.mail.internet.MimeMultipart等类。

MimeMessage类表示整封邮件

MimeBodyPart类表示邮件的一个MIME消息

MimeMultipart类表示一个由多个MIME消息组合成的组合MIME消


从上面的结构可以看出一些规则:

1、复杂邮件和简单邮件一样,都使用MImeMessage对象来表示整封邮件

2、复杂邮件的邮件体,都是通过MimeMessage.setContent(Multipart mp)把一个MimeMultipart设置到MimeMessage对象中,而MimeMultipart对象用来组合多个MIME消息,每个MIME消息分别用一个MimeBodyPart对象来表示,并通过MimeMultipart.addBodyPart(BodyPart part)方法加入到MimeMultipart对象中

3、每个MImeBodyPart对象表示的MIME消息又是一个MIME组合消息,可以包含MimeMultipart

这样用MimeBodyPart和MimeMultipart对象的这种互相嵌套关系,就可以组织成任何复杂的邮件体

你可能感兴趣的:(邮箱系统原理——JavaMail中邮件内容结构)