java - 提取包含邮件的 PST 文件作为 PSTMessage 的附件

标签 java pst

我正在尝试使用 java-libpst-0.8.1 提取 PST 文件,如下所示 https://code.google.com/p/java-libpst/

在我的示例 pst 文件中,有几封邮件。在那个pst文件的其中一封邮件中,附件也是一封邮件。在解析 PSTMessage 时,它甚至无法获取附件名称。请找到示例代码。

 PSTMessage email;
 PSTAttachment attach;
 email = (PSTMessage) folder.getNextChild();
 while (email != null) {
    try {
        numberOfAttachments = email.getNumberOfAttachments();
        if (numberOfAttachments > 0) {
           for (int x = 0; x < numberOfAttachments; x++) {
               attach = email.getAttachment(x);
               try {
                    attachmentName = attach.getLongFilename();

虽然程序给出了邮件附件的确切数量。但它无法提供附加邮件的名称或提取其内容。谁能建议我该怎么做?

最佳答案

终于,我能够阅读作为邮件附件的邮件了。 PSTAttachment 类中有一个方法getEmbeddedPSTMessage()。首先我需要检查它是普通附件还是邮件。为此,我们需要引用 getAttachMethod()。如果它返回 5,则它是一条嵌入消息。详情请查看documentation of PSTAttachment .

if (attach.getAttachMethod() == 5) {
     PSTMessage attachEmail = attach.getEmbeddedPSTMessage();
}

关于java - 提取包含邮件的 PST 文件作为 PSTMessage 的附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723626/

相关文章:

java - 在java中使用递归返回树的后序表达式的问题

java - IntelliJ 2017.2 "Deploy applications configured in Tomcat instance"对话框中的 "Run/Debug Configurations"是什么?

python - Python 中的 Outlook PST 文件解析

r - 基于仅具有 1 个状态的上下文预测条件概率

c# - 我可以在 C# 中读取 Outlook (2003/2007) PST 文件吗?

java - 如何在 Android 代码中使用 .so 文件来使用本地方法

java - 数据库连接管理

java - 找不到类的序列化程序,没有发现创建 BeanSerializer 的属性(为避免异常,请禁用 SerializationFeature.FAIL_ON_EMPTY_BEANS)

vba - 将电子邮件项目从一个PST移到另一个PST后,无法显示

javascript - 使用 JavaScript 读取 Outlook PST 文件