我想从我的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();
Run Code Online (Sandbox Code Playgroud)
第一部分代码的第二部分将在不同的时间运行,尽管它们目前处于相同的测试方法中.
第一部分获取最近从Outlook发送的电子邮件的相关ID.这部分似乎可以作为我内置的Messagebox的证据.
然而,第二部分不起作用,我正在努力找到正确的代码来访问并打开已在第一部分中获取其ID和文件夹位置的特定mailItem.
任何人都能为我完成这个小项目.
最后通过替换以下代码行完成它...
Outlook.MAPIFolder getFolder = (Outlook.MAPIFolder)mapiNameSpace.GetFolderFromID(folderEntryID, folderStoreID);
Outlook.MailItem getItem = (Outlook.MailItem)getFolder.Items.Find("[EntryID] = " + guid);
Run Code Online (Sandbox Code Playgroud)
有了这个 ...
Outlook.MailItem getItem = (Outlook.MailItem)mapiNameSpace.GetItemFromID(guid, folderStoreID);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7429 次 |
| 最近记录: |