利用JavaMail API 解析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);
   2.1# loadMailInfo主要是负责从FileService上取MIME文件的数据,之后解析出来,由特定的MailDisplay控件显示。
        mailSetting 参数是设置解析邮件时附件的临时存放目录,临时内嵌图片附件的展示地址,临时普通附件的下载地址,
        新增内嵌附件的上传Url.
        MailSetting 属性如下:
        ------------------------------------------------------------------------------------
     private String attachmentShowUrl = "";
     private String attachmentDownloadUrl = "";
     private String ckEditorUploadFileUrl = "";
     private String attachmentTempDir = "";
  ------------------------------------------------------------------------------------
        companyId参数是当前用户的公司ID,emlFilePath参数是MIME文件在FileService上的相对路径,这两参数组合用去定位到MIME文件在FileService上的绝对路径。
        
   2.2# saveMailInfo 主要是负责生成MIME文件,之后存放到FileService上。
        MailInfo 参数是收集了邮件信息的自定义实体,是MailWrite控件的输出。
        MailInfo属性如下:
        ------------------------------------------------------------------------------------
     private String from = "";
     private String to = "";
     private Date sendDate = new Date();
     private String subject = "";
     private String content = "";
     private List<Attachment> attachmentList = new ArrayList<Attachment>();
     private MailType mailType;
 ------------------------------------------------------------------------------------
     companyId参数是当前用户的公司ID,fileServiceDir参数是指定MIME文件在FileService上的存放目录,这 两参数组合用去 指定MIME文件在FileService上的存放路径。
3# MailAdaptor的整体流程
   MailAdaptor大体分为取MIME解析成邮件,邮件生成MIME的两部分。
   --------------------------------------------------------------------------------------
        
            GWT   |   MailAdaptor   |  FileService  |
                  |        取MIME文件|               | 
                  |        <---------------------   |     
                  |                 |               |
   MailDisplay  <-----------        |               |            
                  |解析MIME          |               |
                  |                 |               | 
                  |                 |               |
                  |                 |               |
                  | MailInfo        |               |
   MailWrite ---------------->      |               |          
                  |                 |               |
                  |                 |               | 
                  |   --------------------------->  |              
                  |   存生成MIME的文件|               |
                  |                 |               |  
                  |                 |               | 
       
posted @ 2011-12-22 12:04  Asp.Net Dev  阅读(1354)  评论(0编辑  收藏  举报