IMAPメールボックスの危機

注意(主に自分宛, 2024/10/30): 当記事執筆当時,IMAPサーバーはUW-IMAPでしたが,その後dovecotに変更したので,当記事の内容は現在は全く意味をなしません.

自分のメールの管理は、昔からIMAPサーバーを立ち上げてやっています。これは個人営業のクラウドのようなもので、サーバーにアクセスできる限り、自宅LANからも外部からも、パソコン、iPhone、iPadなどで保存したメールすべてを同様にアクセスできます。どこからでも同じように閲覧・保存・操作ができるということで、年々メールが溜まっていくわけです。

とは言えメールに関してはパソコンのトラブル、サーバーのトラブルなどで完全消失したことが過去には何度もあり、現在残っている最古のメールは2002年11月です。

人によっては数百通のメールがありますが、文字コードの破損などで、メールボックスの構造が壊れているというか、ほつれつつあるところがあります。

クライアントの種類、接続の状況によって、正常だったり、異常だったりします。と言うことで完全に壊れている、というより「ほつれている」状態です。たぶん、文字コードのハンドリングが完璧でないクライアントでいじったりしたのが、ほつれをひどくしている原因だと思います。

あんまりいじるとさらにひどくなりそうなので、そっとしておくことにしますが、うっかり削除したり、どうしようもないほど回復不能になったフォルダーの回復法をメモっときます。

  1. Thunderbirdを使う。Local Foldersの場所をAccount settingで確認しておく。
  2. バックアップがあることを確認した上で、当該のフォルダーを削除して、Thunderbirdはいったん終了。
  3. 壊れたメールボックス(フォルダー)の場所(path)を特定して、バックアップツール(Time MachineやRetrospect)からそれに対応するファイルを探し出す。
  4. 復活させたいフォルダーのファイル、”フォルダー名”と”フォルダー名.msf”を安全なところに復活させる。
  5. その二つのフォルダーを1でみつけたフォルダーにコピーする。
  6. Thunderbirdを起動して、Local Foldersにある復活させたフォルダーの中身を確認して、IMAPサーバーにコピーする。

不可視フォルダーや、pathなどについては、省略^^; たぶん、解る人にはヒントになると思います(たぶん^^; おそらく^^;; )。

気をつけなければいけないのは、Thunderbirdでフォルダーの中身をぶっ壊した場合、Thunderbirdで同じフォルダーを復活させてもその後の処理はかなり危険と言うことです。

Thunderbirdは、どうも、この件に関してはかなり劣悪です。Apple Mailはまだましですが、バックアップから復活させたメールボックスファイルをインポートする方法が解らないので、今回は使い(使え)ませんでした。

また、GMailにIMAPでいったん上げて、GMailのWeb UIでいじるのは良い具合です。ただし、また、自営のIMAPサーバーに戻す時にトラブったりしますが。

メールクライアントからは、同じフォルダー内にあるというイメージ。IMAPサーバー的には、一つのメールボックスファイルとなっている。

Thunderbird + Enigmail 再整備

最近,GPG/PGPで暗号化メールの送受信をすることはほとんど無くなってしまいました.非常にデリケートなファイルを,GPGで暗号化して保存する,という用途で使用しているくらいです.

セキュリティー的には,逆に昔よりも危うくなっているのですが,みんな危うさに慣れたようですね.正常性バイアスってやつです.

仕事でもパスワードをかけたPDF, DOCX, XLSXなどを送ってきて,次のメールに平文でパスワード送ってきます^^;

アメリカ政府だけでなく,イギリス首相なんかも,「政府に解読できない暗号はあってはならない」なんて,強権的なことを平気でいってます.

で,一番セキュリティーの高い暗号化法は,今も昔もGPG/PGPです.楽なのは,Apple Mail + Mac GPGなんですが,WindowsやLinuxでも同じように扱える環境といえば,Thunderbird + Enigmail + GnuPGしかありません.

プロバイダーのメールアドレスが変更になったので,PGPのsubkeyを修正して,久しぶりに動作確認をしてみました.

なかなか動かなくて往生しました.Windowsに関しては,gpg-agent.confが不適切で,pinentry(.exe)を正しく指していませんでした.これを修正して解決.

Linuxに関しては,以前Qt-5をインストールしようとしてぐちゃぐちゃになっていたようで,pinentryが動きません.そこで,Qt 4.8.3をbuildしなおし,libgpg-error 1.21, gnupg 2.0.29, pinentry 0.9.7をbuild & installしました.あとは,

を参考に,解決を図りました.三種のpinentryのうちどれでもいいんですが,結局,pinentry-qtを使うことにしました.

/libにlibgpg-errorの古いのがあって,ちょっと遠回りさせられました^^;

めでたし,めでたし.

主にプライベートなもの.
パスワードを知らせする必要がないという点では唯一無二です.