我在一些例程中使用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("<", "<").Replace(">", ">");
mail.Sender = r.AddressEntry;
mail.Subject = mailDetails.subject;
mail.Save();
RDOMail rdoMail = Globals.ThisAddIn.session.GetMessageFromID(mail.EntryID, folder.StoreID, Type.Missing);
答案 0 :(得分:0)
这是因为MAPI找不到具有指定条目ID的消息。
这次电话的背景是什么?邮件变量来自哪里?您是否调用RDOSession.Logon或将RDOSession.MAPIOBJECT属性设置为Outlook中的Namespace.MAPIOBJEECT?