読者です 読者をやめる 読者になる 読者になる

白峯のソース

IT なことのメモなど

Thunderbird Portable + クラウドドライブで Pop メールを共有する

Tech Tips

はじめに

基本:
(A1) Thunderbird Portable を使用する
(A2) クラウドドライブに Pop メールをすべて置く
(A3) 同期の時間を作る

その他工夫:
(B1) 「ダウンロード後もサーバにメッセージを残す」を活用する
(B2) フォルダ分けをする
(B3) 「グローバル検索と索引データべスを有効にする」をオフにする
(B4) コンフリクトファイルを削除する
(B5) maildir 形式

※本説明は主に Windows 向けに書いている。しかし、Mac 環境でもほぼ同じことが言えるだろう。

 

(A1) Thunderbird Portable を使用する

Thunderbird を使っている人は Thunderbird Portable に移行すると良い。
もともとは、USB メモリなどで使うことを想定しているようだが、様々な仕組みがクラウドドライブでの運用にも有効に働く。

既存の Thunderbird からの移行手段はネットで検索するといくらでも出てくるが、ざっくりいうと、

(1) Thunderbird Portable をクラウドドライブ上に ZIP 解凍する
(2) 解凍されたフォルダ内、Data\profile\ に %AppData%\Thunderbird\Profiles\????????.default の中身をコピーする(※???????? は環境によって異なる)

である。

このとき注意したいのは、既存の Thunderbird で「アカウント設定」→「サーバ設定」→「メッセージの保存先」をカスタマイズしているときである。
ここは元からデフォルトか、保存先が %AppData%\Thunderbird\Profiles\????????.default 以下になっていることが望ましいだろう。
D ドライブなど、別の場所に設定していると、どの環境でもその絶対パスに保存しようとしてしまう。
ユーザー名が違う場合やドライブ構成が違う場合、そもそもクラウドドライブのパスが違う場合はここで破綻してしまう。

筆者は、元の Thuderbird がメールを D に保存していたために、ノートパソコンの置いて、SD カードに保存しようとし、そもそもクラウドドライブの管理外であったためにうまく動作しなかった。
なお、筆者の環境は ActiveDirectory などの関係で、ユーザー名(C:\Users\???? の ???? の部分)が各環境で異なっていた。
しかし、移行後のフォルダが (Thunderbird Portable のフォルダ=A)\Data\profile\Mail 以下であれば、各環境でうまく変わってくれた。
どうやら、Thunderbird Portable は上記 A の部分を環境ごとに書き換えてくれるらしい。
(USB ドライブでもドライブ番号は各環境で違うのだから、当然といえば当然である。)

 

(A2) クラウドドライブに Pop メールをすべて置く

これは既に上記で説明していることだが、ここでは全てのメールを同期することを前提としている。

もちろん、環境によって読めるメールが変わっても良いのであれば、上記の「メッセージの保存先」や「アーカイブ」、「ローカル フォルダ」をその環境固有のフォルダ(クラウドドライブ管理下ではないフォルダ)にすれば、その環境でのみしか読めないようにできる。
例えば、ノート PC では古いメールを見る必要がないのであれば、「アーカイブ」、「ローカル フォルダ」を固有フォルダにカスタマイズすればよいだろう。

なお、筆者の全メール容量は約 8GB である。
現在は、AdobeCreative Cloudクラウドストレージを使っている。
もちろん容量が許すなら、OneDrive や DropboxGoogle Drive などでも問題ないだろう。

Creative Cloud を使用しているのはファイルのコンフリクト(競合)が起きたときに通知を出してくれるため、試用するのに便利であったためだが、さすがにうるさくなったので通知は切ってしまった(笑)

Creative Cloud アプリ → 「全般」 → 「通知を表示」を OFF ※ついでにあらゆる他の通知も OFF になってしまう点に要注意

Creative Cloudサブスクリプションの支払いが滞るとメールが下手すると消える恐怖設定である(笑)
普通は、無料プランでも比較的ファイル容量が大きい、OneDrive か Google Drive が良いのではないかと思われる。
どの提供企業に莫大な個人情報を委しまうかで決めても良いだろう(笑)

コンフリクトはバージョン管理ツール(CVS や Git など)を使ったことがある人はわかると思うが、環境毎にファイルのバージョンが分裂してしまう(同期前にそれぞれ独自に更新してしまう)と起こる。
そのため、通信データ量を考えても、各ファイルサイズは小さい方が好ましい。→ (B2)

 

(A3) 同期の時間を作る

これは当たり前の話だが、別の環境を使うときに同期が終わっていない状態で使うと、ファイルに矛盾が生じ(バージョンの分裂が発生し)コンフリクトの嵐になる。

そのため、
メーラーを終了してから通信をオフに(OS をシャットダウン)する前
・通信をオンに(OS を起動)して、メーラーを使用する前
それぞれにクラウドドライブの同期のチャンスを与えなければいけない。

“そんなこと気にしてはいられない”と思う人は、とりあえず、メーラーThunderbird Portable)を使用していないときはアプリを終了すると良い。
筆者は、メールは iPhone に転送しているため、普段はメーラーを落としておき(起動していない状態にしておき)、返信をするときだけメーラーを起動するようにしている。

 

(B1) 「ダウンロード後もサーバにメッセージを残す」を活用する

これは、コンフリクトが起きたとき、被害を最小限に抑えるための対策である。
Inbox のサイズ、同期のタイミングと通信速度にもよるが、Inbox がコンフリクトを起こす可能性は非常に高い。

しかし、この機能を使っておけば、1つの環境で受信してもしばらくはサーバーにメールは残るため、コンフリクトが起きても、最悪受信メールは(設定の期間内であれば)その環境ごとには受信できる。

筆者の場合は、7~14 日は保存させている。
坐―バーのメールボックスの容量を確認し、余裕がある場合は溢れない程度に多めに設定すると良いだろう。

 

(B2) フォルダ分けをする

これは、(A2) の最後でも書いたが、同期とコンフリクトを考えると、フォルダ分けを行って Inbox のファイルサイズを抑えるのが好ましい。

筆者は、「アーカイブ」を使用せず「ローカル フォルダ」を使用しており、メールアドレス毎にその年のフォルダ(「2015」「2016」のように)を作って、手動で毎年移動している。
そうして、各フォルダサイズは大きくても 200MB 程度にしている。
また、大量に来るメールマガジンは「メッセージフィルタ」で自動振り分け設定をしている。

なお、筆者が「アーカイブ」を利用しないのは単に好みの問題である。
年に一回、ごそっとフォルダ移動した方が楽なのである。
受信ボックスにはしばらくは検索対象としてメールを残しておきたいのである(既読はマークするが)。

 

(B3) 「グローバル検索と索引データべスを有効にする」をオフにする

これは意外と重要であるかもしれない。
「global-messages-db.sqlite 削除」でサーチエンジン検索してもらえればいくらでも出てくると思うが、この global-messages-db.sqlite ファイルは使っているとやたらと大きくなる。
筆者の環境では 700MB を超えていた。
フォルダ毎の検索になってしまうが、多くの場合不都合はないだろう。(さらに、グローバル検索は使いにくい。)

>「ツール」 → 「オプション」 → 「一般タブ」 → 「グローバル検索と索引データベースを有効にする」 をオフにする

 

(B4) コンフリクトファイルを削除する

コンフリクトはこの運用の場合、避けるのが難しいと考えている。
コンフリクトが起きると分裂したバージョン毎にコンフリクトファイルが発生するが、これを保存しておいても手動でのマージはまずしないだろう。
ディスク容量がもったいないので、多少のバージョンの誤差は諦めて、さっさと削除してしまいたい。

もっと厳密・厳格に管理したいのであれば、
クラウドドライブをやめて、バージョン管理ツール(CVS, Subversion, Git, Visual Source Safe など)を使うという手もある。
Inbox などは見たところテキストファイルであるようなので、適切にマージを行ってくれそうである。
しかし筆者はそんなに暇ではない。
ノートを起動するたびにマージ処理をするのはできれば避けたいものだ。
(B1) を使って、せめて受信メールは全てどの環境でも新しく受信できるかたちで運用したい。

もし、いずこかのクラウドドライブがバージョン管理ツール並みの強力なテキストマージ機能を持っていたら是非教えていただきたい。

 

(B5) maildir 形式

「メッセージの格納方式」を mbox ではなく、maildir にできるらしい。
しかし、筆者の環境では既存のアカウントの「メッセージの格納方式」がグレーアウトされて選択できない。
そのうち既存のアカウントの移行ツールでも出るのであろうか?
筆者はまだこの設定を試せていない。
→やってみた

原理的には、1メール1ファイルになれば、コンフリクトは大幅に防げ、更に通信データ量も削減できるはずである。
大量のファイルが生産されて、フォルダ内ファイル数の限界を超えてしまうという恐れはあるが、メリットの方が大きいように思える。
現在は開発用のお試し機能のようではあるが、mbox → maildir 移行ツールを含めて完成したら是非利用したいと思っている。
ただしその場合は、各クラウドドライブの1フォルダ内のファイル数上限の確認はしておきたい。

 

追記(2017/02/14)

Windows でタスクバーにピン留めするには少々コツがある。
おそらく、exe をダブルクリックなりして起動した Thunderbird アイコンをピン留めすると、次回起動時に表示なり読み込んだメールなりがおかしくなってしまうだろう。
そこで、以下のように操作すると(なんとなく)うまくいく。

(1) ThunderbirdPortable.exe を右クリックする
(2) 「タスクバーにピン留めする」を選択する

要は、ThunderbirdPortable は起動後に App\Thunderbird\Thunderbird.exe を起動してバトンタッチするわけだが、あとで起動した Thunderbird.exe の方をタスクバーにピン留めしてしまうと、以後動作がおかしくなるということのようだ。
これで正常に今までの保存されたメールも読めるようになるだろう。
ただし、実行時はタスクバーに Thunderbird のアイコンが二つ出てしまうのは少々気持ち悪いが…。

 

 

筆者は、今まで Adobe Creative Cloud で上記の環境(+2016-09-28 の maildir設定)で運用していたが、事情により Google Drive に 2017/02/10 移行した。

今のところ、問題なく動いているようだ。