使用JavaMail解析EML文件

by57 9年前發布 | 3K 次閱讀 Java

Java

當我們在outlook中保存一個郵件是可以存成eml格式,這種格式是標準的郵件格式. 這種文件可以用JavaMail來解析。

import java.util.;
import java.io.;
import javax.mail.;
import javax.mail.internet.;

public class ReadEmail {

public static void main(String args[]) throws Exception{ display(new File("C:\temp\message.eml"));

}

public static void display(File emlFile) throws Exception{ Properties props = System.getProperties(); props.put("mail.host", "smtp.dummydomain.com"); props.put("mail.transport.protocol", "smtp");

    Session mailSession = Session.getDefaultInstance(props, null);
    InputStream source = new FileInputStream(emlFile);
    MimeMessage message = new MimeMessage(mailSession, source);

    System.out.println("Subject : " + message.getSubject());
    System.out.println("From : " + message.getFrom()[0]);
    System.out.println("--------------");
    System.out.println("Body : " +  message.getContent());
}

}</pre>

eml文件格式說明 :

X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Received: from tomts25-srv.bellnexxia.net 
        (tomts25.bellnexxia.net [209.226.175.188])
    by tactika.com (8.9.3/8.9.3) with ESMTP id NAA07621
    for ; Sun, 1 Feb 2004 13:25:33 -0500 (EST)
Date: Sun, 01 Feb 2004 13:31:40 -0500
From: real gagnon 
Reply-To: real@rgagnon.com
User-Agent: Mozilla/5.0 
   (Windows; U; Windows NT 5.1; en-US; rv:1.4) 
   Gecko/20030624 Netscape/7.1 (ax)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: real@rgagnon.com
Subject: Example for HowTo
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-UIDL: oP#!!c]^!!1;-!!T@1"!

This is an example for HowTo</pre>

通過上面的程序解析后的輸出如下:

Subject : Example for HowTo

From : real gagnon

Body : This is an example for HowTo</pre>

 本文由用戶 by57 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!