C# System.Runtime.InteropServices.ComeException:“;IMAPIFormMgr.LoadForm中出错:MAPI“未找到”;
我正在使用Redemption为Outlook开发一个加载项应用程序。我正在尝试获取一个地址列表,作为地址添加到电子邮件中,然后显示电子邮件C# System.Runtime.InteropServices.ComeException:“;IMAPIFormMgr.LoadForm中出错:MAPI“未找到”;,c#,debugging,outlook,outlook-redemption,C#,Debugging,Outlook,Outlook Redemption,我正在使用Redemption为Outlook开发一个加载项应用程序。我正在尝试获取一个地址列表,作为地址添加到电子邮件中,然后显示电子邮件 session = new RDOSession(); session.Logon(); var contacts = session.GetDefaultFolder (rdoDefaultFolders.olFolderContacts); var mailItem = contacts.Items.Add("New message");
session = new RDOSession();
session.Logon();
var contacts = session.GetDefaultFolder
(rdoDefaultFolders.olFolderContacts);
var mailItem = contacts.Items.Add("New message");
AddinModule.CurrentInstance.Session.MAPIOBJECT = mailItem.Session.MAPIOBJECT;
mailItem.Attachments.Add(file, OlAttachmentType.olByValue, Type.Missing, Type.Missing);
RDOFolder folder = session.GetDefaultFolder(rdoDefaultFolders.olFolderContacts);
foreach (RDOFolder subFolder in folder.Folders)
{
if (subFolder.Name == "CAS_Notifications")
{
foreach (var rdoItem in subFolder.Items)
{
RDOContactItem contactItem = rdoItem as RDOContactItem;
RDODistListItem distList = rdoItem as RDODistListItem;
if (distList != null)
{
foreach (RDOAddressEntry rdoAddressEntry in distList.OneOffMembers)
{
mailItem.Recipients.Add(rdoAddressEntry.SMTPAddress);
}
}
else if (contactItem != null)
{
mailItem.Recipients.Add(contactItem.Email1Address);
}
}
}
}
mailItem.Display();
抛出异常
System.Runtime.InteropServices.COMException: "Error in IMAPIFormMgr.LoadForm: MAPI_E_NOT_FOUND"
如何调试它?问题出在下面一行:
var mailItem = contacts.Items.Add("New message");
Add
采用消息类(例如“IPM.Note”
或olItemType
/rdoItemType
枚举之一(例如olMailItem
=0)
您收到的错误本质上告诉您MAPI找不到指定邮件类(“新邮件”)的表单。这与兑换有关吗?这是在辅助线程上调用的吗?抱歉,我编辑了这篇文章。如果您能提供帮助,我将不胜感激