Read .msg file with Java mail API
Asked Answered
V

2

4

I am trying to read an .MSG file from a local system in a Java application using the Java mail API. I searched, but results suggest using some other libraries.

Varia answered 14/2, 2013 at 7:1 Comment(1)
Not met the requirements with available open source libraries, we started storing Outlook messages as .mhtml files and started reading .mhtml files with Java and converted the content back into Java Mail after few tweaks to content. for time being we are able to achieve almost required stuff. Not Sure if there is better solution.Varia
E
4

edit 20-12-2019: the email conversion logic has been moved to a dedicated open source library: outlook-message-parser (the EmailConverter class in Simple Java Mail is still there as well).


original answer: Simple Java Mail, an open source library for sending emails over SMTP has an EmailConverter class that can read and convert Outlook messages directly to MimeMessage, Email or EML.

Under the hood it uses a fork of msgparser (Outlook Message Parser), which on its turn uses Apache POI.

From the Features page:

// from Outlook .msg
Email email =             EmailConverter.outlookMsgToEmail(readToString("yourMessage.msg"));
Email email =             EmailConverter.outlookMsgToEmail(new File("yourMessage.msg"));
Email email =             EmailConverter.outlookMsgToEmail(getInputStream("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(readToString("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(new File("yourMessage.msg"));
String eml =              EmailConverter.outlookMsgToEML(getInputStream("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(readToString("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(new File("yourMessage.msg"));
MimeMessage mimeMessage = EmailConverter.outlookMsgToMimeMessage(getInputStream("yourMessage.msg"));
Escuage answered 13/3, 2017 at 13:8 Comment(0)
D
2

if you are looking to parse Outlook .msg files then msgparser is small open source java library it provide the content using java objects it use Apache POI for parsing the files.

Dastardly answered 14/2, 2013 at 7:12 Comment(1)
Link is not working !!!Aemia

© 2022 - 2024 — McMap. All rights reserved.