【问题标题】:Outlook COM Add-in: Application_NewMail not getting firedOutlook COM 加载项:Application_NewMail 未被触发
【发布时间】:2015-01-30 09:42:55
【问题描述】:

全部

在我的 Outlook 中,我配置了 3 个不同的邮件 ID。我在命令栏上给出了按钮,以便通过单击按钮打开带有 3 个邮件 ID 名称和单选按钮的表单。 无论我选择了哪个单选按钮,我都需要将收件箱邮件转换为 PDF 并存储在物理位置……它适用于单个邮件 ID,但不适用于多个。

注意:- Outlook 2010(Application_NewMail) 在每个邮件 ID 中触发,但是当我尝试使用 Office 2007 时,它没有触发该事件。

请帮帮我....

【问题讨论】:

    标签: vb.net vba outlook outlook-addin outlook-2007


    【解决方案1】:

    这是 MSDN 对 Application 类的 NewMail 事件的说明:

    NewMail 事件在新邮件到达收件箱时以及在客户端规则处理发生之前触发。如果要处理到达收件箱的项目,请考虑对收件箱中的项目集合使用 ItemAdd 事件。 ItemAdd 事件传递对添加到文件夹中的每个项目的引用。

    当用户处于离线模式时,NewMail 事件不会触发。

    您可以改为处理 NewMailEx

    Outlook NewMail event unleashed: the challenge (NewMail, NewMailEx, ItemAdd) 系列文章描述了处理新邮件事件的所有可能方式。

    【讨论】:

    • Item_Add 事件不适用于大量项目,超过 16 项的任何项目都不会引发该事件。
    • 是的,你是对的。使用计时器检查新电子邮件的最可靠方法。请把系列文章读到最后(全部)。
    【解决方案2】:

    您能在OutlookSpy 中看到该事件触发吗(单击 OutlookSpy 功能区上的应用程序按钮,转到“事件”选项卡,查看窗口底部的日志)?

    另外请记住,MAPI 事件仅为 UI 目的而设计。您永远不应该将它们用于任何类型的同步。您可以使用事件作为提示,您必须尽早而不是稍后运行同步,但它不应该是您唯一的同步机制。

    Exchange 公开了 Outlook 本身用于将 OST 文件与服务器同步的增量同步同步 (ICS) API,但只能从扩展 MAPI(C++ 或 Delphi)访问。如果使用 Redemption 是一个选项,它会公开 RDOFolderSynchronizer 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 2012-07-08
      • 2017-12-04
      • 2021-10-16
      • 2017-04-02
      相关资源
      最近更新 更多