先日、Thunderbirdでメールアカウントを一時的に無効化する(例: 新規メールを受信しない)方法が分かった。以前検索しても見つからなかったので書く。ただ、Thunderbirdの内部設定を変更するので危険が伴うのと、自分でも充分に確認した訳ではないので、試す方は設定などのバックアップをしたり事前に調査・確認するなど、充分な準備をされたい。以下を読んで内容が理解できない方は、絶対に実行しないで下さい。トラブルの相談をされるのは困ります。

Thunderbirdで、メールアカウントの設定や既存のメールを残したまま無効化(一時停止)して、新規メールを受信しないようにする手軽な方法はない。設定で新しいメールを受信しないようにしても、思わぬ時に受信してしまう。検索して出てくるのは、そのアカウントを削除することである。削除したら設定や既存のメールがなくなってしまうので、とても不便だ。しかし、設定エディタを眺めているうちに、アカウントの種類を「ローカルフォルダ」に変更すれば無効化できることに気付いた。ローカルフォルダは1個しか作れない訳ではないようで、筆者の環境(Thunderbird 52.9.1 (64-bit), OS: Linux)では、以下のように2つできている。

Thunderbirdのローカルフォルダを2つにした。

メールアカウントの種類を「ローカルフォルダ」に変更する手順を書く前に、関連する主な設定を以下に示す。なお、以下で、NMはサーバやアカウントの番号を示す数字(例: 1)である。設定の意味や値は筆者の推測であり、ThunderbirdのバージョンやOSによって名前や意味や値が変わる可能性がある。

  • mail.server.serverN.type: アカウント(サーバ)のタイプ
    • "none": ローカルフォルダ
    • "imap": IMAP
    • "pop3: POP
  • mail.server.serverN.userName: サーバのユーザー名
    • ローカルフォルダの場合、"nobody"
  • mail.server.serverN.hostname: サーバのホスト名
    • ローカルフォルダの場合、"Local Folders"
  • mail.server.serverN.name: アカウント(サーバ)の名前(Thunderbirdの左側のアカウント・フォルダ一覧に表示される)
    • ローカルフォルダの場合、"ローカルフォルダ"
  • mail.server.serverN.directory, mail.server.serverN.directory-rel: そのサーバのメール格納ディレクトリ。前者は絶対パス、後者は(何かからの)相対パス。なぜ2つあるかは不明。
  • mail.server.serverN.check_new_mail: そのサーバから新しいメールを受信するか
    • "true": 受信する
    • "false": 受信しない
  • mail.server.serverN.storeContractID: そのサーバのメールの格納方法 (mbox または maildir)
    • "@mozilla.org/msgstore/berkeleystore;1": 全メールを1ファイルに格納 (mbox: 通常)
    • "@mozilla.org/msgstore/maildirstore;1": 各メールごとに別ファイルに格納 (maildir)
  • mail.account.accountM.server: アカウントMのサーバ名(上記の"serverN"に相当する)の指定 (例: "server7")
  • mail.accountmanager.accounts: 有効なアカウントリスト
    • 有効なアカウント名(上記"accountM"に相当)を","区切りで列挙する。

既存のIMAPなどのアカウント(実際にはサーバ)のタイプをローカルフォルダに変更して(一時的に)送受信しないようにする手順を以下に示す。例にはサーバserver7を「ローカルフォルダ2」に変更する場合を書いた。

  1. 設定エディタを起動する。
  2. 変更したいアカウントのサーバを調べる。 → 例として"server7"とする。
    • "mail.server."を設定エディタの検索フィールドに入れ、列挙される設定中のホスト名(例: "mail.server.server7.hostname")などで判別する。
  3. そのサーバの種類を「ローカルフォルダ」に変更する。なお、そのサーバでの送受信を復活させる時に再設定することになるので、変更する前の値を記録しておくこと。
    • mail.server.server7.type: "none"にする。
    • mail.server.server7.userName: "nobody"にする。(おそらく設定不要)
    • mail.server.server7.hostname: "Local Folders2"にする。(おそらく設定不要)
    • mail.server.server7.name: "ローカルフォルダ2"にする。(おそらく設定不要)
    • mail.server.serverN.check_new_mail: "false"にする。(おそらく設定不要)
  4. 設定エディタと設定を閉じ、Thunderbirdを再起動する。

再起動後は、元々IMAPなどだったメールアカウントが2個目のローカルフォルダになっているはずである。もちろん、メール送受信は行われない。

なお、ローカルフォルダのディレクトリを既存のものと変えるには、新しいローカルフォルダ用のディレクトリを作成し、mail.server.serverN.directoryとmail.server.serverN.directory-relに指定すれば良い。

また、アカウントの種類(例: IMAP → POP)の変更も、今回と同様な手順でできそうだ(ただし、種類変更に伴う追加の設定が要る。筆者は試していないので、各自挑戦されたい)。

設定変更に失敗するとアカウントが見えなくなってしまうことがあるが、その場合は以下を行うと復活できる可能性がある。

  1. 設定エディタを起動する。
  2. mail.account.accountM.serverで、見えなくなったサーバのアカウントを調べる。 → 例として"account9"とする。
    • server7が見えなくなった場合、mail.account.accountM.serverの値が"server7"のものを探す。
      • "mail.account.account"を設定エディタの検索フィールドに入れ、列挙される設定のうち、mail.account.accountM.serverの値が"server7"のものを探す。
  3. mail.accountmanager.accountsに上記アカウントが含まれていないはずなので、追加する。
    • mail.accountmanager.accountsの最後に",account9"を追加する。
  4. 設定エディタと設定を閉じ、Thunderbirdを再起動する。

再起動後は、見えなくなったアカウントが見えるようになっているはずである。

上記とは直接関係ないが、メールの格納方法(例: mbox → maildir)の変更は容易ではない(筆者はそもそもそれがやりたかった)。設定エディタで格納方法(mail.server.serverN.storeContractID)を変更することは可能だが、それまでに格納されたメールの保存形式はそのままなので、見えなくなってしまう。エクスポート・インポートのアドオンを使うなどして、自分で保存形式を変換するしかない。なお、筆者の使ったアドオンImportExportToolsではうまくできなかった(階層化フォルダを一括エクスポートする場合、各メッセージを個別ファイル(eml)にすることができない)ので、過去の受信メールを変換するのは諦めた。

また、現在のThunderbirdの不具合・制限なのか、maildirの場合には検索フォルダがうまく動かない(Thunderbirdを再起動すると表示されなくなってしまう)ようなので、注意する必要がある。筆者は、そもそもローカルフォルダをmboxからmaildirに変更したかったのだが、この問題があったので、ローカルフォルダを2つにして片方をmboxにし、検索フォルダをそちらに入れている。また、上記のように過去の受信メールの変換も諦めたので、それも入れている。

そもそも、なぜ、ローカルフォルダをmboxからmaildirに変更しようとしたかを書くと、筆者は読んだメールをサーバからローカルフォルダに移動している。しかし、この状態で長く使っていると、受信メールのファイル(mbox)が肥大化するので、いろいろと都合が悪い(例: mboxが大きいと処理が重くなる。1メールの受信(移動)ごとにmboxが更新されるので、バックアップ対象のデータ量が無駄に大きくなってしまう)。そもそも、サイズが無限に大きくなるファイルを作ること自体が非常識だ(センスが悪い)。そこで、近頃追加された(前からあったのかは不明)maildirにして、各メールを個別のファイルにすることで問題を解消しようとした。

このように、Thunderbirdにはいろいろな不満があるのだが、現状では他にいいものがないので、試行錯誤しながら使っている。

(9/22 15:04 ローカルフォルダのディレクトリについて修正)

 

PS. こういう情報を書く時にいつも思うのは、本来書くべきサイト(例: ユーザーフォーラム)に書いた方がいいだろうということだが、どうしてか、MusicBeeのフォーラム以外ではまともに反応があったことがないので(MusicBeeの翻訳をやっていたのは、そういう「張り合い」があったことも大きい)、書くだけ無駄だと思い、ここに日本語で書いている。僕の英語が良くないと思われるかも知れないが、それだけでもなくて、なんとなく、海外のサイトには排他的な雰囲気があるように思う。こっちは日本に閉じこもるつもりは毛頭ないのだが、海外には意外に許容力が低い人が多いようだから仕方ない。まあ、それで彼ら自身が損しているのだから、別にいいけど。

それから、公式サイトは、大抵の意見や不具合報告に対して「ありがとう。検討します」などで終わってがっかりするので、全く書く気がしない。

まあ、近々、Google辺りが自動翻訳を強化して、日本語で書いたって、英語(でも他の言語でも)で普通に検索できるようにしてくれそうだから、もう英語で書く必要はないのではないかとも思っている。そういう時に重要なって来るのは、(国際的に通じやすくなるように、)論理を明確に書くということだろうか。

そして、「英語が国際語」というのは、そろそろ過去の話になるのではないだろうか。どうですか、R社のミッキーさんw

PS2. 実は、メールの保存形式の変更(mbox → maildir)に失敗していて、ある日以前の受信メールがなくなっていたことに、さっき気付いたw 変換前のファイル(mbox)が残ってなくて慌てたが、バックアップがあったので無事回復できた。ここで気付いたのだが、保存形式の異なるフォルダ間でドラッグ・ドロップでメールの移動ができたので、上記のエクスポート・インポート処理は不要なのかも知れない。 (9/21 19:38)

  •   0
  •   0

コメントを書く

名前    

メール 

URL