将Outlook MailItem设置为PR_MESSAGE_FLAGS中的read或suppress_receipt

时间:2013-05-31 17:26:24

标签: outlook mapi

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

查看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,假设它包含“读取”的布尔标志。

运行此代码会出现异常“操作失败”。 有任何想法吗? 感谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

为我工作..