Apache POI - HSMF

MAPIMessage msg = new MAPIMessage("data/message.msg");

AttachmentChunks[] attachments = msg.getAttachmentFiles();
if (attachments.length > 0)
{
	File d = new File("data/attachments");
	if (d.exists() || d.mkdir())
	{
		for (AttachmentChunks attachment : attachments)
		{
			String fileName = attachment.attachFileName.toString();
			if (attachment.attachLongFileName != null)
			{
				fileName = attachment.attachLongFileName.toString();
			}

			File f = new File(d, fileName);
			OutputStream fileOut = null;
			try
			{
				fileOut = new FileOutputStream(f);
				fileOut.write(attachment.attachData.getValue());
			}
			finally
			{
				if (fileOut != null)
				{
					fileOut.close();
				}
			}
		}
	}
}

Aspose.Email

MailMessage message = MailMessage.load("data/message.msg", MessageFormat.getMsg());

System.out.println("Extracting attachments....");
for (int i = 0; i < message.getAttachments().size(); i++)
{
    Attachment att = (Attachment) message.getAttachments().get_Item(i);
    System.out.println("Attachment Name: " + att.getName());

    String attFileName = att.getName().replace(".eml", "").replace(":", " ").replace("\\", " ").replace("/", " ").replace("?", "");

    // Save the attachment to disk
    att.save("data/" + attFileName);
}

Download Source Code

For More Examples, Please Visit Aspose Docs

Last edited Jun 20, 2014 at 7:15 AM by shoaibkhan, version 1