我有一个插件,用于将contacts文件夹与外部源同步。同步每天(或手动按需)发生并需要一段时间。用户要求插件提供有关同步的信息,以便他们知道它已成功完成等等。
由于Outlook API没有提供向状态栏添加信息的方法(即有关同步的详细信息),我想在每次同步时自动创建一个日志文件(并将其粘贴在Deleted中)项目文件夹,以便它不碍事。)
当我尝试创建一条消息并将其移动到已删除的项目文件夹时,它出现在那里,但是没有收到时间,因此被排序到列表的末尾并且很难找到。此外,它向用户查看未发送的消息(草稿)。
有没有办法创建消息并将Received时间设置为大约创建消息的时间(属性是只读的)?
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);
答案 0 :(得分:0)
这就是我最终要做的事情。我使用了Post而不是Message,因为它效果更好。
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();
创建帖子,填写详细信息,“已发布”以便它具有有效的时间戳,然后立即删除(因为我想要它在“已删除邮件”文件夹中)。如果我没有删除它,它将在收件箱文件夹中。