问题标签 [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 回答
856 浏览

c# - 如何在未安装 Outlook 的情况下使用 Redemption 4.7

我正在开发一个使用 Redemption 4.7 从电子邮件存档中提取电子邮件的程序。如果安装了 Outlook,它可以正常工作。

当我卸载 Outlook 并安装MapiCdo时,程序会运行,但它使用 Redemption 提取电子邮件的部分不起作用。

Redemption 网站上,它说只要我安装了 Mapi,它就应该可以工作。

任何想法如何解决这一问题?

编辑我找到了失败的代码行:

此行引发异常。

0 投票
5 回答
1787 浏览

delphi - 通过 Outlook 和 Redemption 发送电子邮件时的 AV

这是我的代码:

发送电子邮件后,我在地址 A70D6D13 收到访问冲突消息(此地址似乎是不变的)。如果我用 F8 逐步完成整个过程,在“结束”语句之后,CPU 窗口将显示在地址 A70D6D13 处,将所有内存显示为????。

我正在使用 Delphi 7、Outlook 2003、Redemption 4.8.0.1184 这段代码缺少什么?

编辑:我发现了一些其他代码片段可以通过 Outlook/Redemption 发送邮件。这是一个使用 OutlookApplication 服务器的片段。

这也给出了同样的错误。AV的地址有什么神奇之处?它必须是解决方案的线索。

TIA,

诺姆

0 投票
2 回答
381 浏览

outlook - 使用 Exchange 2007 从 Outlook 2007 延迟发送

有没有办法从 Outlook 发送带有某种标志的电子邮件,告诉 Exchange 在邮件实际发送到 Internet 之前将其保留 5 分钟?

我知道在 Outlook 中设置“不要在此之前发送”日期,但据我所知,这只是将邮件保留在 Outlook 发件箱中。

如果可以提供帮助,我很乐意使用兑换。

0 投票
1 回答
705 浏览

c# - C# Redemption 包装类不触发事件

我使用 Redemption 为 Outlook 加载项编写了以下包装类:

在我的主要加载项代码中,我使用以下代码调用此包装器:

其中watchedPSTs是一个全局变量。

我可以看到watchPST被填充,但是在将消息移动到 PST 时这些项目永远不会触发。想法?

谢谢

0 投票
1 回答
238 浏览

c# - 在源和目标之间拦截移动项目功能

我已经成功地以我需要的方式(主要)使用 Redemption 库捕获了 ItemMove 函数。我的下一个任务可能是不可能的,但除非我问,否则我不会知道。

我正在写的部分内容涉及将邮件从 Exchange 收件箱移动到 PST 并可能删除附件。这样做是因为我们的网络抖动在 DFSR 上的 PST 复制方面受到了很大的打击(是的,我知道 PST/网络问题和 MS 建议,但是当你不这样做时,你可以尝试向用户解释这一点'没有钱用于培训或新的归档软件)。我希望能够通过代码执行以下操作:

1) 用户选择消息并将它们拖到 PST 文件夹 2) 加载项拦截此消息,将消息复制到本地驱动器上的临时 PST 3) 附件在本地 PST 中处理并保存到相应的网络目标4) 消息被移动到网络上真正的目标 PST。

这个多步骤过程是必要的,因为我们对驱动器空间和最大 PST 文件大小都有配额。由于 PST 压缩不会自动发生并且我们不能以编程方式强制它,因此我想出了这个想法来解决问题。

像往常一样欢迎想法和灵感。

-拉里

0 投票
1 回答
574 浏览

c# - MAPITABLE、InstanceKeys 和存储

我了解 MAPITABLE 为每个单独的商店存储 InstanceKey。我已经尝试按照网站上的示例获取此表,但没有成功。

我的任务是在调用 StoreRemove 时从 SortedDictionary 中删除一个 Store。这样,如果重新添加,就不会抛出异常。

如何正确生成商店项目表?

非工作代码(无法确定我需要的表):

0 投票
1 回答
1166 浏览

.net - 在不使用 Outlook 互操作的情况下发送 Outlook/Exchange 任务请求

我正在寻找一种不使用 Outlook 互操作来发送 Exchange 任务请求的方法。理想情况下使用 SMTP,但我知道这可能是不可能的。我尝试了很多解决方案,但它们似乎都成功了,但任务请求永远不会到达另一个邮箱。

即使没有抛出错误也不起作用的兑换代码:

我对使用脱机 Outlook 发送任务的答案感兴趣,但如果不使用 Outlook 互操作,我似乎无法让任务与 Redemption 一起使用。

在这方面已经花费了几天时间,我正在寻找一个工作代码示例,以便使用 SMTP 或 Redemption(没有 Outlook 互操作)或 Exchange Web 服务(不管是否托管 API)为其他用户生成任务请求。

0 投票
3 回答
1538 浏览

c# - 无法移动文件:该进程无法访问该文件,因为它正被另一个进程使用

场景:我编写了一个应用程序来打开 .msg 文件列表(已转储到文件系统),从中获取一些信息(主题,To CC),然后移动它们。

问题:但是,在移动文件时,我收到以下错误:

该进程无法访问该文件,因为它正被另一个进程使用。

对文件运行句柄只显示我编写的工具,没有其他句柄。

因此,我假设当我使用完这些文件作为 Redemption MessageItem 对象后,我没有正确地释放它们。

但是我不能将它们包装在 using 语句中,因为它们没有实现 IDisposable。而且它们不公开任何公开的 Close 或 Dispose 或类似名称的方法。



简而言之,我想问:

a) 如何强制我的 c# 应用程序关闭给定的句柄,只知道文件句柄的路径?

或者

b) 有没有办法强制 Redemption 对象关闭?

0 投票
1 回答
519 浏览

c# - Outlook 兑换:附件流式传输

我正在使用 RDOAttachment.SaveAs 批量保存大量附件,但这严重减慢了整个操作,因为它们都必须先进入磁盘。有没有办法使用 IStream 接口直接流式传输它们?

0 投票
2 回答
1001 浏览

outlook-redemption - 使用 Redemption 时如何将属性设置为 PT_BINARY(而不是 PT_MV_LONG)?

更新:

此问题已在Redemption 5.2中修复:

以前,以 DASL 格式指定的“字符串”命名空间中的命名 MAPI 属性...始终假定为字符串类型(PT_UNICODE 或 PT_STRING8)。

现在可以显式指定属性类型,例如 PT_LONG (=3): http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MyIntegerUserProperty/0x00000003


我正在使用Redemption 5.1(和 Outlook 2010/64)并且遇到了这个非常烦人的情况:

当尝试将对象byte[]写入属性时,它会将其写入PT_MV_LONG属性,而不是PT_BINARY.

当使用RDOProp.Fields

...或使用时RDOUtils.HrSetOneProp

上面的代码没有编译,但是类型是正确的。


更新:

使用上面的字符串属性,Redemption 正在创建属性“MyProp/0x00000102”,而不是“MyProp”。