Outlook2016 を Python から制御してみる (7) - 最終回
次に作ってみたいもの
学習開始からここまでたどり着くまでに2年かかってました。。。
次に食指が動くのにどれぐらいかかるか分かりませんが、今のところ、挑戦してみようかなぁと思っているものを挙げておきます。
Outlook 外部エディタ
むかしから Emacs 使いだったため、Outlook でメールを書く際に以下のようなイライラを感じています。
- 等幅フォントで字を揃えたいのに、微妙にずれる。
- 左側に2文字分のインデントを自動で付けて、行頭を揃えたい。
- 80文字ぐらいで行を自動折り返ししたい。ただし、エディタ任せではなくて自分で制御しながら。
そこで、メール作成中は Emacs を外部エディタとして使いたい。
プログラムの構想はこんな感じです。
メール重複削除
Outlook 内に重複して存在するメールを削除するツールです。
自作する利点は、「重複の判定ルールを、自分自身のお好みで決められる」ことかと。
※ 2018/6月現在、自分用として使えるレベルにはなっていますが、まだ試験中。
大事なメールをバグで削除するわけにはいきませんので、公開はもう少し先に。。。
今のところは以下のような処理で動かしています。
(1) メールヘッダから Message-ID を取得します。
メールヘッダの取得には、PropertyAccessor を使ってヘッダ全体を取得した後に、改行区切りで "Message-ID" の部分を拾っています。
また、大文字小文字が混在することがあるので、全て小文字に変換かけてから処理しています。
(2) Message-ID をキーにして、辞書を作ります。
(3) 既に辞書に同一キーがあれば、「それは重複メールである」と判断しています。
(4) いきなりメール削除するのではなく、一度「重複メールフォルダ」に移動しています。
Python で処理するのはここまで。
本当に削除するのは、手動にしています。
自動タグ付
メール内容から、自動でタグ (分類項目) をつけていくようにします。
もしくは、一度手動でつけたタグを覚えておき、そのメールの Message-ID を References に持つメールを受け取ると、同じタグをつけていきます。