views:

2222

answers:

3

Anybody knows how to do this? I got all the information of the email (body, subject, from , to, cc, bcc) and need to generate an eml-file out of it.

+5  A: 

EML files are just plain text files. The headers are separated from the body by a blank line. Headers look like this:

From: "DR CLEMENT OKON" <[email protected]>
To: "You" <[email protected]>
Subject: REQUEST FOR URGENT BUSINESS RELATIONSHIP 
Date: Tue, 30 Sep 2008 09:42:47 -0400

For more info, the official spec is RFC 2822. It's actually not as hard to read as some RFCs.

Edit: When I said "plain text" I should have thought for a second. I really meant plain ASCII - and not the 8-bit "extended ASCII" either - just up to character 127. If you want more than seven bits, you need some kind of encoding and things get complicated.

Neall
+1  A: 

Looking at a typical EML file it looks like a raw dump of the text communication that went to the server. So it is a text file containing the mail headers and body. To get your attachments, different views, etc in the correct format inside the EML file you need to MIME-encode the body and its parts.

Hristo Deshev
+3  A: 

You can construct javax.mail.Message object (or have it already constructed from the mail server) and then you can use writeTo() method to save it to file. See JavaMail API for more information

Lazarin
... package javax.mail does not exist
Supuhstar