利用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);
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) 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的文件| |
- | | |
- | | |
原文鏈接:http://www.cnblogs.com/junfeng/archive/2011/12/22/2297559.html
【編輯推薦】
- 試用額外硬件驅動和完整JAVA支持的ChromeOS
- 詳細解析Java中抽象類和接口的區別
- Cinch和Sysmon發布 Java輔助開發工具
- Java***圖形解決方案 JFreeChart學習總結
- Java開源CMS系統 JEECMS v2012版發布