我想从我的 C# winforms 应用程序在 Outlook 中打开一封特定的电子邮件。
目前我有以下代码:
//...Get Folder & Entry ID for last Email in Sent Box
Outlook.Application myApp = new Outlook.ApplicationClass();
Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
Outlook.MAPIFolder mySentBox = mapiNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
Outlook.MailItem myMail = ((Outlook.MailItem)mySentBox.Items[1]);
string guid = myMail.EntryID;
string folderEntryID = mySentBox.EntryID;
string folderStoreID = mySentBox.StoreID;
string mailAddressee = myMail.To;
MessageBox.Show(mailAddressee);
//...Attempt to Open that Email at a later date
Outlook.MAPIFolder getFolder = (Outlook.MAPIFolder)mapiNameSpace.GetFolderFromID(folderEntryID, folderStoreID);
Outlook.MailItem getItem = (Outlook.MailItem)getFolder.Items.Find("[EntryID] = " + guid);
getItem.Display();
代码的第一部分和第二部分将在不同的时间运行,尽管它们目前使用相同的方法进行测试。
第一部分从 Outlook 获取最近发送的第一封电子邮件的相关 ID。这部分似乎可以很好地作为我内置的 Messagebox 的证据。
然而,第二部分不起作用,我正在努力寻找正确的代码来访问和打开已在第一部分中获得其 ID 和文件夹位置的特定 mailItem。
请任何能够为我完成这个小项目的人。