如何解析java中的原始mime内容?

时间:2013-10-23 12:32:21

标签: java javamail mime

我有原始的mime消息,其中包含html内容,内嵌图像和附件。

我想解析并在html页面中显示内容,就像邮件客户端正在显示一样。

是否有可用于解析原始mime内容的java库或方法?

1 个答案:

答案 0 :(得分:3)

您需要阅读该文件,然后创建一个MimeMessage:

   // read the file
    StringBuffer fileData = new StringBuffer(1000);
    BufferedReader reader = new BufferedReader(new FileReader(new File(/*PATH*/)));
    char[] buf = new char[1024];
    int numRead = 0;
    while ((numRead = reader.read(buf)) != -1) {
        fileData.append(buf, 0, numRead);
    }
    reader.close();



// Create a MimeMessage


Properties props = System.getProperties(); 
Session session = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(session, new ByteArrayInputStream(fileData.toString().getBytes()));

现在您有了一个mime消息,您可以使用以下方式访问其内容:

message.getContent();

内容类型取决于mime类型(可以是String,Multipart对象......)

以下是MimeMessage的JavaDoc