3月で大学を卒業するにあたり、大学のメール (Office365) と研究室のメール (Google Workspace) が使えなくなる。 閲覧もできなくなるのでバックアップを取っておきたいので試してみる。

メールの取得

Gmail 上のすべてのメールを mbox 形式で取得する

Google は サービス上の個人データをエクスポートする機能を提供している。

参考: Gmail からデータを書き出す - Gmail ヘルプ

2021/03現在では、次の手順で取得できる。

  1. Gmail を開き、右上の自分のアイコンをクリックして、「Google アカウントを管理」を選択
  2. 「データとカスタマイズ」タブに移動し、中段の「データのダウンロード、削除」から「データをダウンロード」を選択
  3. 「新しいエクスポートの作成」の右下にある「選択をすべて解除」をクリック
  4. スクロールして下の方に移動し、「メール」のチェックボックスを選択状態にする
  5. さらに下に移動し「次のステップ」を選択
  6. 「エクスポートを作成」を選択
  7. しばらく時間が立つと自分のメールアドレスにダウンロードリンクが届くので、これを開いてzipファイルをダウンロード

Apple純正の Mail.app でメールボックスごとに mbox 形式で取得する

Office365 は Gmail のようにエクスポート機能を提供していない。 一方で macOSでは、純正で付属する Mail.app を用いてメールボックスのメールをエクスポートすることができる。

参考: Macの「メール」でメールボックスを読み込む/書き出す - Apple サポート

例えば「受信トレイ」や「送信済み」なども含めたすべてのメールを「アーカイブ」に移動し、「アーカイブ」のメールボックスを右クリックして「メールボックスを書き出す」を選ぶとすべてのメールを単一の mbox 形式でエクスポートできる。

(Office365 だけでなく Gmail を含む他のサービスのメールも、Mail.app でログインして同期すれば、この機能からメールをエクスポートできる)

メールの閲覧

mutt という CLI で mbox 形式のメールを閲覧できる。

インストール

$ brew install mutt

メールを見る

$ mutt -f path/to/mail-file.mbox

操作は次のとおり

キー 動作
j 下へ
k 上へ
z 次ページへ
Z 前ページへ
/ 正規表現で検索
Enter メールを読む
q 戻る / 終了

経緯といざこざ

メールをローカルに保存するときは、Unix, Linuxで用いられる形式として mbox 形式 (1つのファイルに複数のメールを記録) と Mail Dir形式 (1つのファイルに1つのメールを記録)、Windows で用いられている形式として eml形式 (1つのファイルに1つのメールを記録) などが代表的なよう。 今回は使わなくなるメールアドレスの過去のメールを保存しておきたいだけなので、後から見返しやすければどの形式でも良い。mbox 形式でのエクスポートがやりやすかったので mbox を選んだ。

macOS ないし Ubuntu からメールをDownloadする CLI として getmail や fetchmail 等があるが、CLIからだと Office365 や Gmali の2段階認証を超えるのが面倒そうだった。 Thunderbird のエクステンションでのエクスポートも、エクスポート後のファイルを mutt で閲覧できなかったのでやめた。 右往左往していて最終的に OS にバンドルされた Mail.app で mbox 形式でのエクスポートができることがわかり解決。 macOS の純正アプリケーションは PDF の切り取りや並べ替えができたり、簡易的にRAW現像できたりと意外にも高機能なのでよく助けられている気がする。Appleありがとう。