问题标签 [outlook-object-model]

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 投票
2 回答
1938 浏览

outlook - 如何从单一事件中掌握 Outlook 约会系列

打开约会实例时,我需要获取会议系列的主约会。

我已经尝试了以下(currentAppointment 变量是 AppointmentItem 类型)

然而,虽然这让我获得了该系列中的第一个约会,但它的 RecurrenceState 为 olApptOccurrence。

如何获得对 olApptMaster 的参考 - 即会议系列?

0 投票
1 回答
1481 浏览

c# - 使用 MAPI 从服务访问 Exchange Server

我的任务是构建一个使用 MAPI 检查电子邮件的应用程序。我使用了一个用 cpp 编码的包装类,它可以从 c# 访问。我意识到结合托管代码和非托管代码不一定是最佳途径,但这是我可以开始工作的。

让它工作后,我被要求将应用程序设为服务,以便在系统未登录时运行它。

客户端要求我们使用 MAPI,并且正在使用 Outlook 2007,但我希望它与 x86 和 x64 架构兼容。将允许在多个工作站上运行的单独程序使用单个电子邮件地址发送邮件。该服务将监视此帐户,并监视来自 Exchange 的新电子邮件,称无法传递消息。发生这种情况时,它将在数据库中做一个注释以供将来更正。

我对扩展 MAPI 工作原理的理解是,它使用登录者的配置文件来访问 Exchange Server。我的问题是,当没有人登录系统时,是否可以通过 MAPI 访问 Exchange Server?如果这不可能,OOM 是否允许在没有用户登录时访问特定的电子邮件帐户(或配置文件)?当主要使用 c# 时,一种方法会比另一种更好吗?

下面是包装类如何登录的简要示例。我添加了第二种方法,但从未让它登录到当前用户的配置文件以外的配置文件。

感谢您的任何建议。

0 投票
0 回答
874 浏览

c# - Outlook 对象模型另存为 MHT 设置时区

我需要将 Outlook 电子邮件保存为 MHTML (MHT) 格式。我有一个测试应用程序,它通过 EntryID 找到一封电子邮件并将其成功保存为 MHT 格式。

我的目标是指定显示发送时间的时区。默认情况下,Outlook 对象模型使用写入 MHT 的计算机上的时区将时间写入 MHT 文件。我想指定一个任意时区和夏令时遵守。

我正在使用 Outlook 2010、Windows XP SP2、Visual Studio 2008 Professional。

我不希望更改处理计算机上的时间,以避免计算机上可能同时发生的其他事情可能出现问题。但是,我可能不得不走那条路。

我曾希望更改 Application 对象的时区,但该属性Application.TimeZones.CurrentTimeZone是只读的。我还没有找到 Set() 方法。尝试分配给会CurrentTimeZone导致此错误:Property or indexer 'Microsoft.Office.Interop.Outlook._TimeZones.CurrentTimeZone' cannot be assigned to -- it is read only

0 投票
1 回答
798 浏览

com - Outlook 保存 MHT - 包括密件抄送、排除嵌入项目、显示地址

我使用 C# 和 Outlook 2010 对象模型将 Outlook 电子邮件保存为 MHT 格式 (MIME HTML)。将电子邮件另存为 MHT 没有问题。

我想自定义生成的 MHT 的某些方面。

  1. Outlook 生成的 MHT 文件不显示已知有密件抄送收件人的电子邮件的密件抄送行。这些电子邮件取自发件人的电子邮件商店。是否有强制显示密件抄送行的选项?

  2. 如果源电子邮件是富文本格式的电子邮件并包含嵌入文件,Outlook 会将嵌入文件存储在生成的 MHT 中。Outlook 在这方面做得很好。但是,我想清除嵌入的文件。是否有强制 Outlook 不将嵌入文件写入 MHT 的选项?保存为纯 HTML 不是一种选择,因为我想保留内嵌图像。

  3. Outlook 生成的 MHT 文件显示每个收件人的显示名称。我希望 MHT 文件显示每个收件人的显示名称和电子邮件地址。有没有办法做到这一点?

0 投票
1 回答
449 浏览

office-interop - Outlook 文件夹中所有可能的类型是什么?

我正在尝试遍历帐户收件箱文件夹的 Items 集合。如果是 NDR 邮件,该项目的类别是什么?

0 投票
1 回答
140 浏览

office-interop - 某些发件人的电子邮件地址有额外的 3 个十六进制数字

我有一个应用程序使用 Outlook PIA 从客户端的 Exchange 服务器读取数年。最近,在 MailItem 的 SenderEmailType 为“EX”的情况下,SenderEmailAddressthree的末尾看起来像十六进制字符。一个例子:

/O=xxxx/OU=交易所管理组 (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=nnn nnn nnnD02

我不知道公司是如何运营他们的交易所的。但似乎这只发生在最近增加的员工身上。

三个额外字符的原因可能是什么,我该如何处理或解决它们?

0 投票
1 回答
1645 浏览

ms-access - 如何让 Access 宏绕过 Outlook 对象模型保护

我在 MS Access 和 MS Outlook 之间的链接上有很多困难。两者都是 2010 版,我正在使用EMailDatabaseObject宏将报告发送到指定的电子邮件地址。效果很好,但是当我尝试运行宏时,我收到一条消息:“程序正在尝试代表您发送电子邮件”并询问我是否要允许(等待 5 秒后)或拒绝。

我对此进行了研究,并意识到导致此问题的是 Outlook Object Model Guard。我已经在这两个程序中配置了选项,将两者的信任中心更改为启用所有宏,将数据库文件位置添加到 Access 的受信任位置中,在 Outlook 的程序访问下选中“从不警告我有关可疑活动”按钮,并使用所有这些设置,当我运行宏时,它仍然会询问那个烦人的安全警告。

其他解决方案显示了更改 VBA 脚本的方法,但我真的不明白或不知道要更改哪些位置。我已将宏转换为 Visual Basic,这是代码:

我有一个名为 AutoExec 的宏,目的是在文件打开时立即运行宏。

请帮助并让我知道我可以为此使用哪些其他解决方案。如果真的需要我更改上面的代码,我不确定如何更改宏的代码。我意识到当我转换宏时,它变成了另一个以不同方式工作的模块。Access 中没有用于查看宏代码端的选项。

任何帮助将不胜感激。我更喜欢不会花费我任何美元的解决方案,不管它需要什么。谢谢您的帮助。

0 投票
1 回答
674 浏览

c# - 从对话索引时间戳获取日期时间

在 Outlook 中有一个对话索引的概念。原始电子邮件将有一个对话索引,如下所示:

01017C2A2FF4481FED6C146C98A04E2FDB77CEFE8E239603ED7DE0

根据许多谷歌搜索,回复会附加一个日期时间戳 01017C2A2FF4481FED6C146C98A04E2FDB77CEFE8E239603ED7DE0800000ABF0

800000ABF0

然而,他们都没有告诉你如何解析这个值。

您将如何从中获得 DateTime 对象?

0 投票
1 回答
74 浏览

outlook-addin - 避免使用插件编程删除 Outlook 中的附件

我想知道是否有任何方法可以避免使用代码删除 Outlook mailItem 中的附件,或者通过右键单击并选择删除或按删除键删除。

我没有找到任何像 [beforeAttachment] 事件这样的解决方案。

0 投票
1 回答
157 浏览

outlook-addin - 在 Outlook 应用程序中显示信息栏

我使用 atl 开发了一个 Outlook 插件。我想使用位于应用程序功能区下方的黄色条向用户显示一些信息。我在互操作中找到了一个类,但不知道如何使用它。它的olkinfobar

如果我创建它的实例而不是如何将它绑定到应用程序。

https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.olkinfobarclass.aspx