私はEメールを検索して表示するためにEWSを使用しています。しかし、プロジェクトの最後のステップは、特定のメッセージを.msgファイルとしてファイルシステムに保存することです。私はこれがEWSでは不可能であることを理解しているので、これを達成するためにInterop.Outlookを使用する必要があります。私の質問は:EWSから入手できる情報をもとに、Outlookメッセージを見つける最良の方法は何か。私はEWS経由でExchangeから取得したMessage.IdとConversationIdをOutlookのmessageIdに関連付けようとしましたが、これまでに失敗しました。側としてInterop.outlookとewsを使用
OUTLOOK.Application olApp = new OUTLOOK.Application();
OUTLOOK.NameSpace olNS = olApp.GetNamespace("MAPI");
OUTLOOK.MAPIFolder oFolder = olNS.GetDefaultFolder(OUTLOOK.OlDefaultFolders.olFolderInbox);
OUTLOOK.Items oItems = oFolder.Items;
String sFilter = string.Format("@SQL=\"http://schemas.microsoft.com/mapi/proptag/0x1035001F\" = '{0}'", missive.ConversationID.UniqueId);
object obj = oItems.Find(sFilter);
OUTLOOK.MailItem oEmail = (OUTLOOK.MailItem)obj;
if (oEmail != null)
{
return oEmail;
}
else
{
throw new Exception("MAIL ITEM NOT IN OUTLOOK");
}
:ここ
ははconversationIdを見つけるための私の(失敗した)現在のコードである私は、[プロパティ] = valueのバージョンのプロパティ名であるOutlookdフィルタのための参照を探していました; @SQLバージョンで使用する16進数の値を指定します。誰かがそれについての良いリファレンスへのリンクを持っていますか?