问题标签 [pst]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1214 浏览

.net - 在不使用 Microsoft.Office.Interop.Outlook 的情况下获取 Outlook PST 文件的路径

我发现几个网页解释了如何获取 Outlook PST 文件的路径,但它们都使用Microsoft.Office.Interop.Outlook. 我想避免对 Office 互操作程序集的依赖,因为它们对于每个 Office 版本都是不同的。此外,如果 Outlook 尚未启动(因为它创建 Outlook 的实例),此技术会非常慢。

有没有 Office interop 的简单方法?

0 投票
1 回答
689 浏览

java - java pst 库

我正在编写 Junit 测试,对于特定的操作,我需要为 java 库“pst.dll”提供路径我从 eclipse->run config->VM 参数设置它,并将路径设置为 pst.dll 问题是,我必须为每个测试用例都这样做,否则我会得到: Exception in thread "Thread-13" java.lang.UnsatisfiedLinkError: no pst in java.library.path。有没有办法为所有测试用例放置 pst.dll 的路径?还是为了项目避免每次都添加它?谢谢。

0 投票
1 回答
834 浏览

c# - nmapi 解析 pst 文件

有任何示例如何解析 pst 文件吗?官网什么都没有

0 投票
1 回答
2472 浏览

scripting - 以编程方式从 Outlook .pst 文件中删除密码保护

我正在做一个涉及阅读大量 Outlook.pst 文件的项目。

这些文件都受密码保护,但我的密码有问题。问题是在 Outlook 中打开每个文件并输入密码以读取数据是非常繁琐的过程。

现在我在想是否有任何方法可以创建一个脚本,它会自动为我打开每个 .pst 文件,输入密码并在没有密码的情况下再次保存文件。

我一直在谷歌搜索,似乎没有找到任何解决我的问题的方法,看起来 MAPI outlook.application 接口的文档记录很差。到目前为止,我已经看到一个 PowerShell 脚本使用technet的 Excel 应用程序执行此操作

可能我可以将其应用于 MAPI 与此类似的东西

有没有人遇到过类似的问题?潜在的解决方案不必在 PowerShell 中,它可以在 Python、Perl、Java、C# 或任何东西中,只要它能完成工作:)

0 投票
1 回答
1865 浏览

c++ - C++:在使用 pstsdk 时出现“错误 C2065:'pst':未声明的标识符”?

按照在这个问题中使用pstsdk的建议:
处理 Microsoft Office Outlook 2003/2007 电子邮件...</a>

并按照此处的说明进行操作:
PST 文件格式 SDK - PST 层概述 - 入门

并且还根据此视频:
在 PST SDK 演示中,Terry Mahaffey 讨论了 PST SDK 文件格式 SDK。
(转发至28:32)

他们都同意我只需要在正确添加Boostpstsdk的包含路径后包含 PST 头文件,然后编写以下代码即可开始使用我的 pst 文件:

现在,我混合使用了托管和非托管 C++,因此我尝试将此代码放入我的函数中,如下所示:

每次编译时,我都会收到 c2065 错误代码,表明pst未声明。

任何线索任何人?

编辑#1

在按照 Hans Passant 的建议完成之后(有效),我的代码现在看起来像这样:

我现在收到以下错误:

错误 C3859:超出 PCH 的虚拟内存范围;请使用“-Zm111”或更高的命令行选项重新编译

错误 C1076:编译器限制:达到内部堆限制;使用 /Zm 指定更高的限制

我绝对没想到会发生这些。如何解决它们?

0 投票
2 回答
2239 浏览

linux - 从 MS Outlook 的 .pst 文件中读取邮件内容(包括附件)的基于 linux 的解决方案的初学者指南

我刚刚开始了解 MS Outlook 如何以自己的格式(.pst 格式)存储其邮件的基础知识,我必须提供一个脚本(搜索某些内容或编写我自己的) -

  • 在linux 系统上解析这些 .pst 文件(在此处压缩并发送)
  • 为每封邮件创建一个 .txt 文件。为每个附件创建一个 .zip 文件。这是基本要做的事情。我还需要为要创建的文本文件分配一些唯一的名称。
  • 任何语言——PHP、Java、Python——以可用/适用者为准。

一些基本问题
如果有人能澄清这些基本问题会很好 -

  • 邮件内容和附件信息是否都存储为 .pst 文件?

到目前为止我得到了这些

谷歌电子邮件上传器(开源),他们做阅读部分......

关于这些解决方案中的哪一个或其他一些可以尝试的任何建议?或者,如果您可以讲述您的任何经历,以便我在实际尝试任何解决方案之前得到一个想法,然后意识到这是不可能的。任何指针将不胜感激。我基本上来自 LAMP 背景,对其他语言知之甚少。最近做了一点 bash 编程。

谢谢,
桑迪潘

更新
JPST 工作正常。有专门用于这些事情的模块 - 读取所有消息(您可以简单地编写代码以保存在文件中),保存附件和许多其他事情。

我还了解到邮件内容和附件都存储在 .pst 文件中。

0 投票
2 回答
71674 浏览

python - Python - 在特定时区设置日期时间(没有 UTC 转换)

需要明确的是,这是 python 2.6,我使用的是 pytz。

这适用于仅处理美国时区的应用程序,我需要能够锚定日期(今天),并仅在 PST 晚上 8 点和晚上 11 点获得 unix 时间戳(纪元时间)。

这真让我抓狂。

因此,即使我正在设置时区并使用该时区创建日期时间,它仍将其创建为 UTC,然后进行转换。这是一个更大的问题,因为当我尝试进行计算时,UTC 将提前一天。

是否有一种简单(或至少合理)的方法可以为今天太平洋标准时间晚上 8 点生成时间戳?

(需要明确的是,我确实理解在大多数情况下使用 UTC 的价值,例如数据库时间戳或一般存储。这不是其中一种情况,我特别需要在 PST 的晚上使用时间戳,而 UTC 不应该必须进入它。)

0 投票
1 回答
185 浏览

outlook-addin - 在 Outlook 2007 中导出为 .csv 与 .pst 时,如何访问隐藏的联系人属性?

我想将 Outlook 2007 中的联系人导出为可以以纯文本格式打开的格式,以便使用程序进行修改。当导出为 .pst 格式并重新导入时,联系人似乎保留了 Outlook 插件使用的一些隐藏属性,例如 ID 等。而当导出为 csv 时,我在 csv 文件的任何地方都看不到这些字段。

导出到 .pst 与 csv 时存储的内容有什么不同吗?如何将联系人上的这些隐藏属性导出到 csv?

0 投票
1 回答
773 浏览

c# - 以编程方式压缩 Outlook PST

这篇文章是我能找到的唯一一个说明用于压缩 PST 文件的 API 未公开的资源。任何人都可以验证这一点或提供其他信息吗?

谢谢

0 投票
2 回答
2549 浏览

vba - 通过 VB 将 PST 文件移动到服务器

在工作中,我们选择了一个新的交换服务器,所以我的老板会让我到我们所有的计算机上,手动将人们拥有的所有打开的 PST 文件移动到他们在新服务器上的文件夹中。出于显而易见的原因,我决定编写脚本会更简单。经过一番研究,我遇到了一个这样的脚本,只需要一点调整(在这里找到http://halfloaded.com/blog/logon-script-move-local-pst-files-to-network-share/) 但还有很多其他我并不真正需要的东西(检查它是否在笔记本电脑上运行,只影响本地文件夹等),所以我将主要逻辑从它中蚕食到我自己的版本中,而没有大部分这些健全性检查。我遇到的问题是我有 2 个看似相同的循环迭代不同的次数,这会导致问题。这就是我所拥有的

有问题的循环位于第 24 行和第 81 行。具体错误是第二个循环中的计数比第一个循环增加得更多,但这是因为第一个循环的迭代不足并且缺少最后一个 PST 文件。在我发现大部分代码的网站上遇到类似问题的人说,在某些地方添加 wscript.sleep 函数对他们有帮助,但我在他们推荐的地方没有这样的运气,我觉得他们的问题是和我的不一样。

对于我的代码中出现的问题,我非常感谢帮助,我愿意接受有关纠正我没有看到的其他问题的方法的建议,并认为有更好的方法来做这样的事情。

EDI:在对我的问题进行更多研究之后,似乎通过在第 24 行的循环内执行 RemoveStore,我正在更改 objNS.Folders 的值(这是有道理的),为了避免这种情况,我应该存储我的 objFolder 项目需要删除并在另一个循环中这样做。现在的问题是我不知道该怎么做,我试过了

但是,我收到有关 RemoveStore 的类型不匹配错误,因此我认为它没有按需要存储对象。有任何想法吗?