有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

雅加达邮件如何解析java中的原始mime内容?

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

我想解析和显示html页面中的内容,就像邮件客户端显示的一样

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


共 (1) 个答案

  1. # 1 楼答案

    您需要读取该文件,然后创建mimessage:

       // 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类型(可以是字符串、多部分对象…)

    这是MimeMessage的JavaDoc