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();
コードの最初の2番目の部分は異なる時間に実行されますが、現時点では同じメソッドでテストされています。
最初の部分は、Outlookから最近送信された電子メールに関連するIDを取得します。この部分は、私が組み込んだメッセージボックスの証拠としてうまく機能しているようです。
ただし、2番目の部分は機能せず、最初の部分でIDとフォルダーの場所を取得した特定のmailItemにアクセスして開くための適切なコードを見つけるのに苦労しています。
私のためにこの小さなプロジェクトを完了することができる人は誰でもお願いします。