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

标签 java jakarta-mail mime

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

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

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

最佳答案

您需要读取文件,然后创建一个 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 类型(可以是字符串、多部分对象...)

这是 JavaDoc用于 MimeMessage。

关于java - 如何解析 java 中的原始 mime 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19541792/

相关文章:

C# 创建 MIME 消息?

java - xml 文件不更新。这是什么原因呢?

java - 为什么不对 JAX-RS 中的所有资源使用异步响应?

java - 将哈希表保存在持久存储中

java - Spring-boot-starter-mail 3.1.1 抛出 "Not provider of jakarta.mail.util.StreamProvider was found"

java - 如何使用 Java Mail API 对 Gmail 帐户使用“'Mark emails as "垃圾邮件”选项?

html - MIME 类型 : Linking to CSS w/a txt Extension

java - 独立的应用程序,用 Java 构建

java - 如何显示下载附件的进度条

html - PEAR Mail SMTP/MIME 和 HTML 格式