Jump to Real's How-to Main page

Handle EML file with JavaMail

When saving an email to a file, the resulting file has an eml extension (email files--which are in RFC 822 format). This kind of file can be read and parsed by 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());
    }
}

A typical eml looks like this :

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

Running the above HowTo gives this output :

Subject : Example for HowTo
From : real gagnon 
--------------
Body :
This is an example for HowTo

If you find this article useful, consider making a small donation
to show your support for this Web site and its content.

Written and compiled by Réal Gagnon ©1998-2005
[ home ]