0

在打开之前将 MailItem 设置为已读或在 PR_MESSAGE_FLAGS 中设置值 suppress_receipt 的正确方法是什么?

查看http://msdn.microsoft.com/en-us/library/office/cc815395(v=office.12).aspx我的代码是:

MailItem x = item as MailItem;
x.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x0E070003",35);

我使用 OutlookSpy 从其他已读邮件中获得了 35 封邮件,假设它包含“已读”的布尔标志。

运行此代码让我得到异常“操作失败”。有任何想法吗?谢谢。

4

2 回答 2

1

您不能在 Outlook 对象模型中执行此操作。在 MAPI 级别上,您需要调用 IMessage::SetReadFlag(SUPPRESS_RECEIPT),但您需要 C++ 或 Delphi。

如果使用Redemption是一个选项,您可以使用RDOMail .MarkRead(SuppressReceipt) (可以从任何语言调用)

于 2013-05-31T17:37:27.297 回答
0

使用:字符串 PR_CLIENT_READ = " http://schemas.microsoft.com/mapi/proptag/0x0E070003 "; omMailItem.PropertyAccessor.SetProperty(PR_CLIENT_READ, 0x09);

为我工作..

于 2015-09-11T14:48:07.333 回答