代码之家  ›  专栏  ›  技术社区  ›  Erv Walter

如何从Outlook加载项在“已删除邮件”文件夹中创建“日志文件”邮件

  •  1
  • Erv Walter  · 技术社区  · 14 年前

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

    由于outlookapi不提供将信息添加到状态栏的方法(即同步时的详细信息),因此我希望在每次同步时自动创建一个日志文件(并将其粘贴到Deleted Items文件夹中,这样它就不会碍事了)。

    当我试图创建一条消息并将其.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);
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Erv Walter    14 年前

    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();
    

    文章被创建,填写详细信息,“Posted”以便它有有效的时间戳,然后立即删除(因为我想把它放在deleted Items文件夹中)。如果我没有删除它,它会在收件箱文件夹。