Is anyone familiar with a Java library that helps with parsing the fields (date, subject, from, to) of the email below?
Message-ID: <19815303.1075861029555.JavaMail.ss@kk> Date: Wed, 6 Mar 2010 12:32:20 -0800 (PST) From: [email protected] To: [email protected] Subject: some subject Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-From: one, some <[email protected]> X-To: one X-cc: X-bcc: X-Folder: Bob\Inbox X-Origin: Bob-R X-FileName: rbob (Non-Privileged).pst some message
JavaMail is an oracle library that provides mail services and mail related services (like parsing conventional & MIME messages) in the javax.mail package. Additionally Apache has a Commons Email library for mail handling.
In the JavaMail api, a simple way to parse a string containing an email message (which may or may not be explicitly MIME) would be as follows
String content = ... Session s = Session.getInstance(new Properties()); InputStream is = new ByteArrayInputStream(content.getBytes()); MimeMessage message = new MimeMessage(s, is);
and parsing the headers could be done like this
message.getAllHeaderLines(); for (Enumeration<Header> e = message.getAllHeaders(); e.hasMoreElements();) { Header h = e.nextElement(); h.getName(); h.getValue(); }
I have had problems with JavaMail (it fails to parse some email messages that it should).
I have had much better results with Mime4J.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With