在打开或在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,假设它包含“读取”的布尔标志。
运行此代码会出现异常“操作失败”。 有任何想法吗? 感谢。
答案 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);
为我工作..