通过开源 Java API 处理 Outlook PST 文件
通过免费 Java 库,无需使用 Microsoft Outlook 即可读取和提取 Outlook PST 文件的内容。
What is Java-libpst?
什么是 Java-libpst?
Java-libpst 是一个开源 Java 库,用于读取和提取 Outlook PST 文件的内容。 PST 是 MS Outlook 用于存储电子邮件的一种非常流行的文件格式。它用于归档邮件副本、附件、日历事件、联系人和其他 Outlook 项目。 Java-libpst 使开发人员能够访问和提取所有这些信息,以便在其他系统中迁移或使用它。
随着时间的推移,图书馆有了很大的改善。它现在允许开发人员以合理的速度、可压缩加密支持、ANSI(32 位)支持、Unicode(64 位)Outlook PST 和 Exchange OST 支持等处理大型 PST 文件。
Java-libpst 入门
首先,您需要安装 JDK 1.6 或更高版本。
需要添加到 pom.xml 文件的依赖项是,
Maven 依赖
<!-- https://mvnrepository.com/artifact/com.pff/java-libpst -->
<dependency>
<groupId>com.pff</groupId>
<artifactId>java-libpst</artifactId>
<version>0.9.3</version>
</dependency>
Load & Parse PST Files via Java
通过 Java 加载和解析 PST 文件
Java-libpst 库允许加载和解析 PST,并具有迭代 PST 文件夹和每个文件夹内的电子邮件集合的功能。它还允许用户获取电子邮件详细信息,例如主题、正文、HTML 正文、收件人列表等。
- 通过 PSTFile 构造函数加载 PST 文件
- 借助 PSTFile.getRootFolder() 方法获取根文件夹
- 获取作为电子邮件消息的根文件夹的子级
- 将每封电子邮件存储在 PSTMessage 的实例中
- 解析电子邮件主题、正文等以进行进一步处理
解析 PST - Java
// Open sample PST
PSTFile pstFile = new PSTFile("sample.pst");
// Get display name
System.out.println(pstFile.getMessageStore().getDisplayName());
// Read emails in folder
if (pstFile.getRootFolder().getContentCount() > 0) {
PSTMessage email = (PSTMessage)pstFile.getRootFolder().getNextChild();
while (email != null) {
System.out.println("Email: "+email.getSubject());
email = (PSTMessage)pstFile.getRootFolder().getNextChild();
}
}
Extract Email Addresses from PST File in Java Apps
在 Java 应用程序中从 PST 文件中提取电子邮件地址
java-libpst API 使 Java 开发人员能够从他们自己的 Java 应用程序中的 PST 文件中提取电子邮件地址和其他详细信息。开发人员可以轻松浏览每封电子邮件并阅读作为电子邮件附件的邮件。