1. 产品
  2.   电子邮件
  3.   Java
  4.   Apache POI HSMF

Apache POI HSMF

 
 

通过开源 Java API 处理 MSG 文件

阅读 Microsoft Outlook MSG 文件以访问呈现信息、主题和正文内容或使用 Apache POI 提取附件。

如果您是一名 Java 开发人员,正在寻找一个电子邮件处理库来处理电子邮件,您可能需要考虑使用 Apache POI-HSMF。它是 POI 项目的 Outlook MSG 格式的纯 Java 实现,提供对 MSG 文件的低级读取访问以及面向用户的方式来获取 MSG 文件的常见文本内容,例如发件人、主题、邮件正文等.开发人员可以获取消息标题信息、保存电子邮件消息、从 MSG 文件中读取固定大小属性、提取嵌入式消息属性、使用消息编码等等。 

Previous Next

Apache POI HSMF 入门

首先,您需要在系统上安装 Java 开发工具包 (JDK)。如果您已经拥有它,请继续访问 Apache POI 的 下载 页面以获取存档中的最新稳定版本。将 ZIP 文件的内容提取到可以将所需库链接到 Java 程序的任何目录中。就这些!

在基于 Maven 的 Java 项目中引用 Apache POI 更加简单。您只需在 pom.xml 中添加以下依赖项,并让您的 IDE 获取和引用 Apache POI Jar 文件。

Apache POI Maven 依赖

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>4.1.0</version>
</dependency>

API to Access Outlook MSG Files

访问 Outlook MSG 文件的 API

Apache POI-HSMF 允许 Java 开发人员和程序员访问 Outlook MSG 文件的内容。 Apache POI-HSMF 是 Microsoft Outlook 消息文件格式到纯 Java 的一个端口。到目前为止,该 API 处于非常基本的级别,因此可用于处理电子邮件的功能有限。开发者可以获得

从味精中提取数据 - Java

// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Read Content
System.out.println("From: " + msg.getDisplayFrom());
System.out.println("To: " + msg.getDisplayTo());
System.out.println("CC: " + msg.getDisplayCC());
System.out.println("BCC: " + msg.getDisplayBCC());
System.out.println("Subject: " + msg.getSubject());

Read & Extracts Attachments from Outlook MSG File

从 Outlook MSG 文件中读取和提取附件

Apache POI-HSMF API 使 Java 开发人员能够解析 Outlook MSG 文件;提取并读取嵌入文档的内容。开发人员可以访问 MAPI 消息的附件。它支持读取一个或多个 Outlook MSG 文件,并为每个文件从可用块和包含附件的目录中创建一个文本文件。它从 Outlook MSG 文件中读取附件并将其作为单个文件写入磁盘。

提取 MSG 的附件 - Java

// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Extract Attachment
AttachmentChunks[] attachments = msg.getAttachmentFiles();
if(attachments.length > 0) {
  File d = new File("D:\\Attachments");
  if(d.mkdir()) {
    for(AttachmentChunks attachment : attachments) {
      processAttachment(attachment, d);
    }
  }
}

Save Email Message Contents inside Java Apps

在 Java 应用程序中保存电子邮件内容

Java 程序员可以使用 Apache POI-HSMF API 来提取和保存电子邮件内容。可以提取电子邮件正文以创建一个新文件,然后您可以在 FileWrite 的帮助下将其写入光盘。

提取电子邮件正文以通过 Java 创建新文件

 String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();
 中国人