IMAPISession.OpenEntry中的错误:MAPI_E_NOT_FOUND

时间:2014-02-04 16:55:19

标签: outlook-redemption

我在一些例程中使用Redemption,其中一个例程调用:

RDOMail rdoMail = Globals.ThisAddIn.session.GetMessageFromID(mail.EntryID, folder.StoreID, Type.Missing);

它最终抛出了这个异常,它并不总是发生:

Error in IMAPISession.OpenEntry: MAPI_E_NOT_FOUND StackTrace: at Interop.Redemption.IRDOSession.GetMessageFromID(String EntryIDMessage, Object EntryIDStore, Object Flags)

为什么会这样?谁有任何想法?

更新

这是电话的背景:

Outlook.MailItem mail = folder.Items.Add(Outlook.OlItemType.olMailItem);
Outlook.Recipient r = Globals.ThisAddIn.Application.Session.CreateRecipient(getSingleAddress(mailDetails.from));
mail.To = mailDetails.to.Replace("&lt;", "<").Replace("&gt;", ">");
mail.Sender = r.AddressEntry;
mail.Subject = mailDetails.subject;

mail.Save();

RDOMail rdoMail = Globals.ThisAddIn.session.GetMessageFromID(mail.EntryID, folder.StoreID, Type.Missing);

1 个答案:

答案 0 :(得分:0)

这是因为MAPI找不到具有指定条目ID的消息。

这次电话的背景是什么?邮件变量来自哪里?您是否调用RDOSession.Logon或将RDOSession.MAPIOBJECT属性设置为Outlook中的Namespace.MAPIOBJEECT?