利用JavaMail API 解析MIME

开发 后端
MIME是什么?我们可以理解为邮件接收以及发送的一种标准格式,所以想理解服务器接收的邮件内容解析,只有理解这个标准。

以前不知MIME为何物,经过一段时间研究,大体理解为邮件接受以及发送的一种标准格式。

只有理解这个标准,才能把邮件服务器接收的邮件的内容解析,以及把新邮件生成MIME的标准格式发送出去,让其他邮件服务器正确解析出来。

所以可以封装成一个mailadaptor.jar.

1、MailAdaptor 简介

MailAdaptor 是一个负责邮件存取,邮件解析,邮件生成MIME的适配器。

2、MailAdaptor 核心函数

MailAdaptor主要包括:

MailInfo loadMailInfo(MailSetting mailSetting, Long companyId,String emlFilePath); Boolean saveMailInfo(Long companyId, String fileServiceDir,MailInfo mailInfo);

1) loadMailInfo主要是负责从FileService上取MIME文件的数据,之后解析出来,由特定的MailDisplay控件显示。

mailSetting 参数是设置解析邮件时附件的临时存放目录,临时内嵌图片附件的展示地址,临时普通附件的下载地址,新增内嵌附件的上传Url。

MailSetting 属性如下:

  1. private String attachmentShowUrl = "";  
  2. private String attachmentDownloadUrl = "";  
  3. private String ckEditorUploadFileUrl = "";  
  4. private String attachmentTempDir = "";   

companyId参数是当前用户的公司ID,emlFilePath参数是MIME文件在FileService上的相对路径,这两参数组合用去定位到MIME文件在FileService上的绝对路径。

2) saveMailInfo 主要是负责生成MIME文件,之后存放到FileService上。

MailInfo 参数是收集了邮件信息的自定义实体,是MailWrite控件的输出。

MailInfo属性如下:

  1. private String from = "";  
  2. private String to = "";  
  3. private Date sendDate = new Date();  
  4. private String subject = "";  
  5. private String content = "";  
  6. private List<Attachment> attachmentList = new ArrayList<Attachment>();  
  7. private MailType mailType;   

companyId参数是当前用户的公司ID,fileServiceDir参数是指定MIME文件在FileService上的存放目录,这两参数组合用去指定MIME文件在FileService上的存放路径。

3、 MailAdaptor的整体流程

MailAdaptor大体分为取MIME解析成邮件,邮件生成MIME的两部分。

  1. GWT   |   MailAdaptor   |  FileService  |
  2.       |        取MIME文件|               |      
  3.       |        <---------------------   | 
  4.        |                 |               |
  5. MailDisplay  <-----------        |               |
  6.               |解析MIME          |               |
  7.                |                 |               |
  8.                |                 |               |
  9.                |                 |               |
  10.                | MailInfo        |               |
  11. MailWrite ---------------->      |               |
  12.                |                 |               |
  13.                |                 |               |
  14.                |   --------------------------->  |
  15.                |   存生成MIME的文件|               |
  16.                |                 |               |
  17.                |                 |               | 

原文链接:http://www.cnblogs.com/junfeng/archive/2011/12/22/2297559.html

【编辑推荐】

  1. 试用额外硬件驱动和完整JAVA支持的ChromeOS
  2. 详细解析Java中抽象类和接口的区别
  3. Cinch和Sysmon发布 Java辅助开发工具
  4. Java***图形解决方案 JFreeChart学习总结
  5. Java开源CMS系统 JEECMS v2012版发布

 

责任编辑:林师授 来源: Asp.Net Dev的博客
相关推荐

2009-06-16 09:41:00

2009-06-16 10:10:40

JavaMail AP

2009-07-01 14:05:05

JSP邮件系统

2023-07-26 17:13:38

2017-04-20 09:49:35

SwashbuckleWeb API Hel核心

2019-11-13 11:52:46

区块链API比特币

2014-08-12 10:28:08

AngularJS外部API

2012-03-07 14:37:03

JavaJavaMail

2010-07-26 15:17:51

Perl解析XML文件

2010-09-09 13:55:47

XML DOM

2009-07-03 09:12:59

Java JSP

2009-06-16 09:06:37

JavaMailJSP

2010-07-14 17:38:47

MIME协议

2021-09-01 15:48:50

API漏洞应用程序安全

2015-03-27 10:39:22

2020-10-16 10:30:28

黑客

2021-03-26 11:02:20

Python自然语言API

2011-09-07 13:30:48

Android WidTabWidget

2014-10-13 13:44:00

AngularJS2048

2015-12-08 09:16:32

JavaMail邮件发送总结
点赞
收藏

51CTO技术栈公众号