outlookのアイテムからヘッダ内容を読み込む
メモ
outlookをC#から操作するとき、メールのヘッダ内容だけ読み込みたいことがありますが、outlook付属のインターフェースにはヘッダを表すプロパティがありません。
長い時間をかけて調査したら、次のサイトが引っかかりました。
[Solved] Outlook add-in in C#: get message header? - CodeProject
古いバージョンのC#のコードに翻訳すると、次のようになります。
http://schemas.microsoft.com/mapi/proptag/0x007D001E
という呪文が必要だそうです。
const string PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"; //MailItemからヘッダ内容を得る public static string GetHeader(Microsoft.Office.Interop.Outlook.MailItem mi) { Microsoft.Office.Interop.Outlook.PropertyAccessor olPA = mi.PropertyAccessor; string header = (string)olPA.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS); System.Runtime.InteropServices.Marshal.ReleaseComObject(olPA); return header; }