利用JavaMail API 解析MIME
以前不知MIME為何物,經(jīng)過一段時間研究,大體理解為郵件接受以及發(fā)送的一種標(biāo)準(zhǔn)格式。
只有理解這個標(biāo)準(zhǔn),才能把郵件服務(wù)器接收的郵件的內(nèi)容解析,以及把新郵件生成MIME的標(biāo)準(zhǔn)格式發(fā)送出去,讓其他郵件服務(wù)器正確解析出來。
所以可以封裝成一個mailadaptor.jar.
1、MailAdaptor 簡介
MailAdaptor 是一個負(fù)責(zé)郵件存取,郵件解析,郵件生成MIME的適配器。
2、MailAdaptor 核心函數(shù)
MailAdaptor主要包括:
MailInfo loadMailInfo(MailSetting mailSetting, Long companyId,String emlFilePath); Boolean saveMailInfo(Long companyId, String fileServiceDir,MailInfo mailInfo);
1) loadMailInfo主要是負(fù)責(zé)從FileService上取MIME文件的數(shù)據(jù),之后解析出來,由特定的MailDisplay控件顯示。
mailSetting 參數(shù)是設(shè)置解析郵件時附件的臨時存放目錄,臨時內(nèi)嵌圖片附件的展示地址,臨時普通附件的下載地址,新增內(nèi)嵌附件的上傳Url。
MailSetting 屬性如下:
- private String attachmentShowUrl = "";
- private String attachmentDownloadUrl = "";
- private String ckEditorUploadFileUrl = "";
- private String attachmentTempDir = "";
companyId參數(shù)是當(dāng)前用戶的公司ID,emlFilePath參數(shù)是MIME文件在FileService上的相對路徑,這兩參數(shù)組合用去定位到MIME文件在FileService上的絕對路徑。
2) saveMailInfo 主要是負(fù)責(zé)生成MIME文件,之后存放到FileService上。
MailInfo 參數(shù)是收集了郵件信息的自定義實體,是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參數(shù)是當(dāng)前用戶的公司ID,fileServiceDir參數(shù)是指定MIME文件在FileService上的存放目錄,這兩參數(shù)組合用去指定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
【編輯推薦】
- 試用額外硬件驅(qū)動和完整JAVA支持的ChromeOS
- 詳細(xì)解析Java中抽象類和接口的區(qū)別
- Cinch和Sysmon發(fā)布 Java輔助開發(fā)工具
- Java***圖形解決方案 JFreeChart學(xué)習(xí)總結(jié)
- Java開源CMS系統(tǒng) JEECMS v2012版發(fā)布