问题标签 [outlook-redemption]

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 回答
290 浏览

c# - 无法在 GAL 中解决

我正在使用 Redemption 来处理 Outlook 2003。我想访问 sharedMailBox 上的文件夹并且代码失败:

当我试图获取 RDOStore 对象时,我得到“无法在 GAL 中解析:邮箱 - MTS SH 支持”。

我之前使用过这段代码:

它正在工作,但经过几个小时的工作后,它在尝试创建 RDOFolder 时失败,并出现错误“IMAPISession::OpenMsgStore:MAPI_E_FAILONEPROVIDER 中的错​​误”。

那么访问 sharedMailbox 文件夹的正确方法是什么?

0 投票
1 回答
1049 浏览

outlook - 使用 Outlook Redemption 检索原始标头

我正在开发一个 Outlook 自动化,它将邮件放在特定文件夹中并将其导出为 RFC822 格式的邮件消息。然后,此输出文件将被馈送到 SpamAssassin 工具 sa-learn.exe。

以下是使用此代码保存的消息中的消息标头,其中包含经过编辑的电子邮件地址。

这里缺少的是应该看起来像这样的中继标头。

如何捕获那些中继标头?

更新:

进一步研究这一点,Outlook 中 MailItem 中存储的原始标头与 Redemption 保存的 RFC822 格式完全不同。

这是一个并排的比较。

Outlook 中“属性”对话框中的原始标题。

RFC822 格式文件的标头:

这些标题只是表面上相同。

  • 缺少中继标头
  • 日期和主题在不同的位置
  • 日期标题已被修改以抑制本地时区
  • Content-Type 已从“text/html; charset=us-ascii”更改为“multipart/alternative;”
  • 已添加标题并已删除标题

更好的问题是如何捕获消息的原始标头?

0 投票
1 回答
2173 浏览

c# - 通过与服务器不同的用户帐户使用兑换

我正在尝试使用一个小程序从 Exchange 服务器发送电子邮件并保存所有附件。根据建议,我决定使用 Redemption 库。

我已经在服务器上安装了Microsoft Exchange Server MAPI 客户端和协作数据对象 1.2.1,因此它应该可以在没有 Outlook 的情况下工作。当我在本地机器上运行程序时,它可以毫无问题地浏览我自己的收件箱。但是,当我尝试在服务器上执行它时,我遇到了问题。

即使我在代码中提供了登录信息,我也会收到登录提示。我使用与我尝试访问的帐户不同的帐户登录服务器。我最简单的尝试是这样的:

当我尝试访问邮箱或任何其他项目时出现错误:

即使以其他用户身份登录,我如何才能访问我的邮箱?如果我使用“运行方式...”执行程序并提供我的用户登录名,它也可以在服务器中运行。但我需要它与不同的用户一起工作。

0 投票
0 回答
300 浏览

vb.net - 如何使用 Outlook Redemption 绕过安全补丁来保存 Outlook 项目

我目前正在开发一个可以从 PST 文件中提取项目并将其保存到指定位置的应用程序。现在我正在使用提供的 Microsoft.Office.Outlook.Interop 来执行此操作。

这是我用来保存联系人项目的一些代码。我使用的所有项目的代码都是相似的。

但是,当我尝试使用 SaveAs() 方法保存项目时,会弹出安全提示,要求我允许应用程序在一段时间内使用 Outlook。(1,5,10 分钟)如果我没记错的话。我了解 Outlook 兑换可以绕过这一点。我该怎么做?

问候,

阿迪布

0 投票
0 回答
1187 浏览

outlook - Get MailItem Recipient using Redemption.ISafeMailItem object

I am writing simple Outlook program in C# which records MailItem’s Recipients for sent mail. To build that I am hooking into Outlook Mailitem Send event to get Recipient collection. Also to avoid Outlook security prompt I am using Redemption SafeMailItem.

For reading Recipient collection I am assigning MailItem to SafeMailItem and read Recipients. However Recipient collection won’t be same if MailItem has unsaved changes. In order to copy Recipient collection, MailItem requires to be saved and then access via Redemption SafeMailItem.

Here is example.

So I believe calling Save() makes sense but I am not changing anything and calling Save() is causing another issue. When I try to quit Outlook it says:

there are unsaved changes “ do you want to save change”.

I tried accessing directly Mailitem.Recipients (it has latest and unsaved recipient list before mail getting send) but it creates Outlook security prompt. If I used Redemption it requires call to save before accessing it which creates other issue.

Is there a better way to receive Outlook Sent Mail Recipients in safe manner without modification ? Your suggestion will be appreciated.

0 投票
1 回答
1062 浏览

delphi - UserProperties.Add in outlook2007 gets Invalid Function error

I'm working with Delphi2010 . When I run the code with Outlook 2003 SP3, I get no errors but on another pc with outlook2007 i get an error 'Invalid Function error'.

When I use redemption I get the same error for Outlook2007 Can someone point the right direction to solve this problem?

I catch the error with eurekalog:

0 投票
1 回答
731 浏览

c# - Outlook 拖放 - ActiveExplorer().Selection() 不包含所有项目

在我的 Outlook 加载项中,我试图获取有关用户拖放到 MAPI 商店中的所有项目的信息(我正在使用 Redemption 库)。

我对此的第一次尝试是挂钩 MessageCreated 事件......

棘手的部分是我需要捕获与一个集合同时拖放的所有项目,我猜这意味着保留每条新消息的某些方面(可能是 EntryId)。

现在,问题显然是我无法将一堆任意事件的结果捆绑在一起,所以我正在研究ActiveExplorer().Selection集合并试图想办法确定哪些项目已被拖放到我的存储中.

我没有太多运气,因为集合的内容似乎有点随意(例如,当拖动 1 个项目时,Selection当我在事件处理程序中检查它时,会有两个项目,或者当一系列事件在那里触发时例如,选择中的 2 个项目,下一个事件中的 1 个,下一个事件中的 1 个等)。

除此之外,我的一个用例是能够从 Outlook 外部拖动项目,我猜它不会包含在Selection集合中。

有没有解决这个问题的标准方法?这似乎是一件很常见的事情——将一堆文件拖到一个文件夹中,并能够作为一个集合获取关于它们的一些信息,但我就是想不通。非常感谢任何指导。

0 投票
1 回答
543 浏览

.net - 如何判断用户对其他 Outlook 邮箱的权限

确定用户是否对其他 Outlook 邮箱拥有完整邮箱权限的最佳方法是什么?

我正在使用 Redemption 在用户有权访问的邮箱上使用搜索文件夹。如果他们只有某些文件夹的编辑权限,他们就看不到搜索文件夹,因为无法授予搜索文件夹权限。似乎使搜索文件夹可见的唯一方法是它们是否具有完整的邮箱权限(通过 Exchange 提供),因此我需要根据它们是否具有完整的邮箱权限来分支我的逻辑,但我无法弄清楚如何进行此检查.

如果我检查邮箱根文件夹的访问控制条目,我有权使用以下代码,它为空:

0 投票
1 回答
837 浏览

vb.net - 在 vb.net 中使用兑换同步到 Outlook 2010

我正在开发一个应用程序,我想在其中同步 Outlook 日历、邮件等。我身边的这段代码在 Outlook 2003、2007 中运行良好。但我不知道它对 Outlook 造成了什么问题2010. 我使用以下内容:

redemption dll 5.4 版本-32 位
office 对象核心14 dll-32 位
office -32 位版本
visual studio 2008

我收到此错误:

无法创建 ActiveX 组件。

在以下行:

会话在哪里:

之后显示以下错误:

没有默认邮件客户端或当前邮件客户端无法满足消息传递请求

我尝试了各种各样的东西,但都是一样的。我还重新安装,修复了outlook,修复了注册表。

有任何想法吗?

0 投票
1 回答
172 浏览

vba - Store.EntryID 因会话登录方法而异

我在 Access VBA 中使用 Redemption 对象来访问 Outlook。

DefaultStore.EntryID取决于logon我使用的会话方法。

这是我的代码:

我的第一个Debug.Print返回一个大约 336 个字符长的字符串。第二个返回一个大约 76 个字符长Debug.Print的不同字符串(具有一些相同的字符)。

我在这里可能做错了什么或误解?