コンウェイとピーターの狭間で

ずっと放置しつつQiitaに移ったりしていましたが、スマートホームについて書いていこうかと

Outlook 2013でメッセージIDで検索する

背景

Windowsにおけるメーラーと言えば・・・・

ThunderBird

ですよね?

ここ数年、プライベートも仕事もThunderBirdだったんですが、 会社の方でOffice 365の導入が決まり、 Outlookを使うことになりました。

Outlookと言えば、Windowsセットアップ後真っ先に削除するアプリ、Officeインストール時にフルインストールを選ばない理由、で有名なOutlookです。

まあ、しがないサラリーマンとしては会社の決定に従わないといけません。 幸いThunderBirdをそこまで使い倒している訳ではないので機能的には遜色なさそうです。

メールの自動振り分けもできそうですし、ThunderBirdからのデータのコンバートもできそう。

ただ、見つけられなかったのがメッセージIDを使った検索です。

メッセージIDって便利

メッセージIDはメール1通を特定するためのIDのようで、メールサーバーで割り当てられるようです。

例えばこんな会話よくします。

「そんなメール来てた?」
「○月○日の△さんのメールで・・」
「スレッド表示にしてるから日付じゃ見つけられん、検索キーワードない?」

メッセージIDがあると

「そんなメール来てた?」
「来てたよ、xxxx@xxxx(IMで送信っと)」
「どれどれ・・・、あった!見逃してたよー。」

てな感じになります。

あと、メールをBTSなど別の場所に貼り付けるときもメッセージIDを付けておくと前後のメールを調べ直すときに便利です。

Outlook 2013でのメッセージIDを表示

Outlook 2013でもメッセージIDを表示させることはできます。 メールを開いてファイル-プロパティ。

f:id:banban525:20150327091227p:plain

インターネットヘッダーの欄に「Message-ID」の項目に表示されます。

f:id:banban525:20150327091241p:plain

メッセージIDを使って検索

メッセージIDをフィルタに入れても検索できません。 詳細検索にもヘッダーの項目はありません。

結論から言うとビューの設定でSQL検索して検索します。

ビューの設定を開いて

f:id:banban525:20150327092013p:plain

ビューの詳細設定画面で「フィルター」を選択

f:id:banban525:20150327091404p:plain

SQLタブを開いて

"http://schemas.microsoft.com/mapi/proptag/0x1035001E" = '(メッセージID)'

と打ち込みます。

f:id:banban525:20150327091412p:plain

これでメッセージIDが一致するメールだけがフィルタされます。 毎回ビューの設定をするのは面倒ですが、私は一旦ビューを記憶させておいて SQLを書き換えています。

0x1035001Eってなに?

よくわかりません。 見つけたのがこのページでOutlookのAddinでメッセージIDを検索する方法を説明しているようです。 Searching emails from an Outlook add-in | TaskConnect - Outlook add-in for Team Foundation Server

たぶんですが、Outlookの裏にはDBがあって、メッセージIDは0x1035001Eうんぬんの列に格納されているのではないかと思っています。