Outlook Web App (OWA) はMicrosoftのExchange Server 2010/2013で提供されるWebメールサービス。企業のメールとかでよく使われてるやつ。
Exchange Serverのメールは一般的には「Outlook」メーラーを使ってアクセスするが、OWAを使えばWebブラウザ経由でもアクセスできるようになっている。
ちなみにExchange Server 2016や最新のMicrosoft 365では「Outlook on the web」という名前で提供されている。
が、今回はOWAのみが対象のお話(というかon the webのほうは使ったことがない)。
会社都合でOWAしか使えない(まじくそ)
記事タイトルの通り、今回トライしたのは「OWAからメールデータを取り出す」ことだが、これはOutlookを使えば簡単にできる。メーラーを起動して、当該メールをファイルに保存ればいい。
ただ今回は会社の都合でメールクライアントのOutlookは使えず(Outlook経由でのアクセスは無効化されている)、OWAしか提供されていないのがネック。
というのも、OWAはあくまでもWebアクセス用の補助機能のようなものなので、OWAからバックアップを取ったりエクスポートする機能は存在しない。そのへんはOutlookをインストールしてそちらかどうぞってことらしい。でもOWAしか提供されてないんだよ!
じゃあバックアップ取れませんやん
まさにその通りでバックアップが取れない。詰んでる。はいさようなら。
で終わらせたいところだが、「過去のメール消えるからバックアップよろしく(方法があるかは知らんけど)」とかナメたことを言われていてそうそう簡単に諦められない。
で、探してみるとこれがまた方法がないこともないのである。インターネットの叡智は素晴らしい。ここにやり方が書かれているので紹介する。
1. OWA上で新しいメッセージを作成
2. (一旦下書き保存して)メッセージを新しいウィンドウで開く
3. メール一覧ペインから保存したいメールを選択する(複数選択OK)
4. 選択したメールを2.で開いたウィンドウにドラッグ&ドロップする
5. ドロップしたメールが添付ファイルとして追加されるので、右クリックして保存するかそのまま他のメアドに送信して取り出す
これでOKだ。OWA上でメールをドラッグ&ドロップすると添付ファイルとして追加できる機能を利用してダウンロードしてしまうなんて方法があるとは知らなかった。
取り出すのが面倒くさい
上記5.の手順で「他のアドレスに送る」のは機密上よろしくないのでそのまま自端末にダウンロードしたいのだが、一つずつ手で右クリックしてダウンロードするのはさすがに面倒くさすぎる。
そこでSHDocVwを使ってIEを操作することでOWAのHTMLソースを取得し、ハイパーリンクの中から添付ファイルのリンクだけを抽出することで一括でダウンロードできる簡易ソフトを作成した。これでひとつずつ手でやる手間は省けた。
本当はChromeでやりたかったけど、OWAのログイン状態を維持したまま(同じ接続セッションで)添付ファイルのリンクにアクセスするのが手間だったので「ログインは手動、あとはマクロ的にIEを操作してリンクを一括で開いてダウンロード」という折衷案で我慢した。凝ったプログラムを作る時間もないし。
(OWAサーバーがオレオレ証明書しかなく毎回接続時に証明書エラーが出てしまい別セッションにできないという制約もネックだった。ほんとクソ環境だ)
取り出した後も面倒くさい
ダウンロードしたファイルは拡張子のないファイルで保存される。
テキストエディタで中身を見るとメールデータがそのまま取り出せているようだが、RFCに則ってBASE64エンコードされておりそのままでは人が読むことができない。
一つずつデコードすることも考えたが手間がかかりそうだったので、ここはOutlookに一括インポートすることにした。
Outlookにインポートする手順
まずはファイルに拡張子.emlに付与する。好きなリネームソフトを使って一括でやってしまうとよい。
このemlファイルをそのまま開けばOutlookで読むことができるが、ファイルのままだと件名が見れないので目的のメールを探すのが大変。Outlookにインポートしてしまう方が探しやすいし読みやすいだろう。
一つずつ手でインポートするのは骨が折れるので、こちらで紹介されているVBScriptを使って一括でインポートしてしまうがのよい。
※この記事を書いていて気付いたけど上記事のコメント欄に改良版が貼ってあったり、githubに上がってたりしてた。もともとのでも十分だったけど。
あとはOutlookで閲覧しよう
Outlookにさえ入ってしまえばこっちのもの。そのまま閲覧できるのは当然として、エクスポートやバックアップも簡単だ。
OWAしか提供してないのにマシンにはOutlookアプリがインストールされているちぐはぐ感にモヤっていた(というかもうアンインストールしてしまおうかと思っていた)けど、消さずに残しておいてよかった。
あんまりスマートなやり方ではないけども、方法を探してみたら案外どんなことでも何とかなってしまうんだなぁという教訓と、まともなメール手段を提供しない会社はクソだなぁという感想が同時に生まれた瞬間だった。
コメントする