【问题标题】:How to create a "log file" message in the Deleted Items folder from an Outlook Addin如何从 Outlook 插件的已删除邮件文件夹中创建“日志文件”消息
【发布时间】:2010-08-30 22:48:00
【问题描述】:

我有一个插件可以将联系人文件夹与外部源同步。同步每天发生(或手动按需),需要一段时间。用户已要求插件提供有关同步的信息,以便他们知道同步已成功完成等。

由于 Outlook API 没有提供向状态栏添加信息的方法(即同步发生时的详细信息),我想在每次同步时自动创建一个日志文件(并将其粘贴到已删除项目文件夹,使其不碍事)。

当我尝试创建一条消息并将其 .Move() 移动到已删除的项目文件夹时,它出现在那里,但没有收到时间,因此被排序到列表的末尾并且很难找到。此外,在用户看来,它就像一条未发送的消息(草稿)。

有没有办法创建消息并将接收时间设置为大约创建消息的时间(该属性是只读的)?

NameSpace mapi = _outlook.GetNamespace("MAPI");
MAPIFolder deletedItems = mapi.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems);
MailItem message = (MailItem)_outlook.CreateItem(OlItemType.olMailItem);
message.Subject = "Contact Sync Errors";
message.BodyFormat = OlBodyFormat.olFormatPlain;
message.Body = "This is my log message";
message.Move(deletedItems);

【问题讨论】:

    标签: outlook vsto outlook-addin


    【解决方案1】:

    这就是我最终要做的。我使用帖子而不是消息,因为这样效果更好。

    PostItem message = (PostItem)this.Application.CreateItem(OlItemType.olPostItem);
    message.Subject = "Contact Sync Log";
    message.BodyFormat = OlBodyFormat.olFormatPlain;
    message.Body = "My Message Here";
    message.Post();
    message.Delete();
    

    创建帖子,填写详细信息,“已发布”,使其具有有效的时间戳,然后立即删除(因为我希望它在已删除项目文件夹中)。如果我没有删除它,它就会在收件箱文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 2011-06-01
      • 1970-01-01
      • 2022-10-04
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      相关资源
      最近更新 更多