公開日: 2021年10月2日

Thunderbird の基本的な設定と、それを他の PC にコピーする方法

メールクライアントソフト Thunderbird の基本的な設定と、設定を他の PC にコピーする方法を紹介します。これまで Mutt や Wanderlust などさまざまなメールクライアントソフトを渡り歩いてきましたが、FreeBSD でも Windows でも同じように使える Thunderbird はやはり楽チンです。この記事では、日常的にメールを読み書きしたり保管したりする PC をメイン PC、新着メールの確認だけを行う PC をサブ PC として、それぞれの立場から設定をしていきます。

本文に入る前に、いくつかの前提条件を。執筆時点での Thunderbird のバージョンは 78.14.0 です。受信プロトコルは POP3、メールフォルダは mbox 形式とします。

概要 ― メイン PC とサブ PC

メイン PC では、すべてのメールをサーバから取ってきてローカルなストレージに保存します。つまりこの PC でメールを一元管理します。サーバにはメールを残しません。サブ PC では新着メールの確認だけを行います。メールはサーバに残しておいて、あとでメイン PC 側で回収するようにします。

それぞれの PC での設定は、だいたい次のような手順になります。

  • メイン PC
    • Thunderbird のインストール
    • メールアカウントなどの基本的な設定
    • メッセージフィルタの作成
  • サブ PC
    • Thunderbird のインストール
    • メールアカウントの設定をメイン PC からコピー
    • メッセージフィルタをメイン PC からコピーし、振り分け先のフォルダを作成
    • サーバにメールを残すように設定

インストール

# pkg install thunderbird

メイン PC 側の設定

初回起動時の設定

Thunderbird を初めて起動したときに表示されるダイアログに、プロバイダから通知されたアカウント情報、サーバ情報を入力します。
  1. メールアドレスのセットアップ (図 1)
    • 名前: 送信者名 (差出人名) を入力する。
    • メールアドレス: プロバイダから通知されたアドレスを入力する。
    • パスワード: プロバイダから通知されたパスワードを入力する。
  2. 「Configure manually...」ボタンを押す。
  3. INCOMING (受信サーバー) および OUTGOING (送信サーバー) の情報をプロバイダから通知のあったとおりに入力する (図 2)。
図 1
図 1
図 2
図 2

メニューを日本語化する

  1. ハンバーガーボタン > [Preferences] > [Language] コンボボックスから「Search for more languages...」を選択。
  2. [Thunderbird Language Settings] ダイアログが立ち上がるので、[Select a language to add...] コンボボックスから「Japanese」を選択して「Add」ボタン、「OK」ボタン、「適用して再起動」ボタンの順に押す。
  3. Thunderbird が再起動され、メニューが日本語になる。

アカウント設定

ハンバーガーボタン > [アカウント設定] にてアカウントの設定を行います。主要な部分は初回起動時に設定した内容が既に入力されているので、ここではそれ以外の項目について触れます。
  • <メールアドレス> タブ (図 3)

    ここではメール本文に付記するシグネチャ (署名) の設定をします。個人の好みの領域ですが、形式はテキストが基本だと思うので、HTML 形式での記述を無効にしています。
    • 署名編集: シグネチャの本体を入力する。
    • HTML 形式で記述する: OFF
  • [サーバー設定] タブ (図 4)

    メイン PC では、ダウンロードしたメールをサーバに残しません。そこで「ダウンロード後もサーバーにメッセージを残す」をオフにしておきます。その他の項目は好みの問題ですが、私は手動でダウンロードするようにしています。また、メールの保存先は、デフォルトでは ~/.thunderbird/ の下になりますが、バックアップの取りやすさを考慮して ~/Mail/ に変更しています。
    • 新着メッセージがないか起動時に確認する: OFF
    • 新着メッセージがないか〇〇分ごとに確認する: OFF
    • 新着メッセージを自動的にダウンロードする: OFF
    • ヘッダーのみ取得する: OFF
    • ダウンロード後もサーバーにメッセージを残す: OFF
    • メッセージの保存先: ~/Mail/<POP3 サーバの FQDN>
  • [編集とアドレス入力] タブ

    シグネチャと同様に、メッセージ本文もテキスト形式が基本だと思うので、HTML での編集を無効にしています。
    • HTML 形式でメッセージを編集する: OFF
  • [Local Folders] タブ (図 5)

    メッセージフィルタ (後述) で振り分けたメールを格納するフォルダ (といっても mbox 形式のため実体はファイル) を格納するディレクトリの設定です。サーバー設定タブと同様に保存先を ~/Mail/ の下に変更します。
    • メッセージの保存先: ~/Mail/LocalFolders/
図 3
図 3
図 4
図 4
図 5
図 5

メッセージフィルタの作成

メッセージフィルタを設定すると、ダウンロードしてきたメールを、差出人や件名などの条件によって自動的に振り分けたり破棄したりすることができます。ここでは、例として「hoge@fuga.com」のアカウントで受信したメールをローカルフォルダ下の各フォルダに振り分けることにします。
  1. 振り分け先のフォルダを作成する。
    フォルダペインのローカルフォルダーを右クリック > [新しいフォルダー] でフォルダ名を入力する。
  2. ハンバーガーボタン > [ツール] > [メッセージフィルター] でメッセージフィルターダイアログを開く。
  3. メッセージフィルターダイアログにて、対象アカウントから hoge@fuga.com を選択し [新規] ボタンを押す。
  4. フィルターの設定ダイアログにて「フィルター名」「フィルターを適用するタイミング」「条件」「条件にマッチしたときの動作」を設定する (図 6)。
図 6
図 6
フィルター名は何でもいいのですが、あとでフィルタ設定をサブ PC にコピーするときに作業がしやすくなるように「MoveTo: <移動先のフォルダ名>」としています。ちなみに、ここで作成したフィルタは、アカウント設定でメッセージの保存先に指定したディレクトリの下にある msgFilterRules.dat というファイルに保存されます。いまの場合は ~/Mail/pop.fuga.com/msgFilterRules.dat です。

サブ PC 側の設定

アカウント設定をコピーする

Thunderbird の設定はアカウントごとに「プロファイル」というフォルダで管理されています。基本的にはこのプロファイルをコピーすることで、別のパソコンに設定を移行できます。手順は次のとおり。
  1. まずコピー元の PC でプロファイルの場所を調べる。
    ハンバーガーボタン > [ヘルプ] > [トラブルシューティング情報] のアプリケーション情報から「about:profiles」と書かれているリンクをクリックすると表示される。デフォルトでは下記の場所にある。
    • FreeeBSD の場合: ~/.thunderbird/xxxxxxxx.default
    • Windows の場合: C:\Users\<ユーザ名>\AppData\Roaming\Thunderbird\xxxxxxxx.default
    同じディレクトリに「yyyyyyyy.default-release」というディレクトリもあるかもしれない。ある場合はこれもあとでコピーする。
    ※「xxxxxxxx」「yyyyyyyy」は英数字 8 文字のランダムな文字列。
  2. コピー先の PC にも Thunderbird をインストールし、取りあえず 1 回起動し (初期設定画面が表示されるがキャンセルでよい)、同じようにプロファイルの場所を確認してから閉じる。
  3. プロファイルをコピーする。
    • コピー元に xxxxxxxx.default と yyyyyyyy.default-release があり、コピー先に zzzzzzzz.default と wwwwwwww.default-release があったとする。その場合、(必要に応じて zzzzzzzz.default と wwwwwwww.default-release のバックアップを取ったうえで) xxxxxxxx.default と yyyyyyyy.default-release をコピー先にコピーし、それぞれ zzzzzzzz.default と wwwwwwww.default-release にリネームする。
    • コピー元に yyyyyyyy.default-release がなかった場合は、zzzzzzzz.default と wwwwwwww.default-release の両方とも xxxxxxxx.default からコピーする。
これであらかたの設定はコピーされますが、下記の点は注意が必要かもしれません。
  • 当然といえば当然ですが、Windows との間で相互にコピーする場合、パスの情報はコピーされません。例えば、Windows 側でアカウント設定のローカルフォルダが「C:\なんちゃら\Local Folders」のようになっていると、FreeBSD 側に持ってきたときに「~/.thunderbird/xxxxxxxx.default-release/なんちゃら/Local Folders-1」というような場所に強制的に変更されます。
  • 言語や外観の設定は、本来コピーされるものなのかよくわかりませんが、私の環境ではされませんでした。
気がついていないだけで他にも何かあるかもしれません。あくまで新しい環境にセットアップする際の補助的な手段と捉えておくのがよさそうです。

メッセージフィルタをコピーする

メイン PC の説明で少し触れましたが、作成したメッセージフィルタは msgFilterRules.dat というファイルに保存されているので、それをコピーします。また、メッセージの振り分け先フォルダがわんさかある場合、Thunderbird 上でひとつひとつ手動でフォルダを作成するのは大変なので、msgFilterRules.dat に書かれている情報をもとに 2、3 個のコマンドを使って作成できるようにします。
  1. msgFilterRules.dat をコピーする。
    上述のとおりにメイン PC を設定してあればコピー元は ~/Mail/pop.fuga.com/msgFilterRules.dat となる。これまた上述のとおりにサブ PC を設定してあれば、コピー先も同じく ~/Mail/pop.fuga.com/msgFilterRules.dat となる。
  2. 振り分け先のフォルダを作成する。
    カレントディレクトリが ~/Mail/ で、~/Mail/pop.fuga.com/ にメッセージボックスと msgFilterRules.dat があり、~/Mail/LocalFolders/ に振り分け先のフォルダを作るとする。メイン PC でフィルタを作った際にフィルタ名を「MoveTo: <移動先のフォルダ名>」にしておいたのがここで役に立つ。msgFilterRules.dat からそれらが書かれている行を取り出して touch すればよい。
    % cd ~/Mail/
    % ls
    LocalFolders/    pop.fuga.com/
    % cat pop.fuga.com/msgFilterRules.dat | sed -n 's/name=\"MoveTo: \(.*\)\"$/LocalFolders\/\1/p' | xargs touch
    

私はメールを mbox 形式で保存しているため、フォルダの実体はファイルです。そのため振り分け先フォルダを touch コマンドで作成していますが、Maildir 形式の場合は touch を mkdir に変えればよいと思います (未確認ですが)。

さて、今後別の PC で同じ作業を行うことになった場合、私は上のワンライナーを確実に忘れていますので、シェルスクリプトにまとめておきたいと思います。ファイル名は何でもいいのですが、makelocalfolders.sh などとしておきます。~/Mail/ ディレクトリの直下に置いて実行します。

~/Mail/makelocalfolders.sh
#!/bin/sh

rule=pop.fuga.com/msgFilterRules.dat
dst=LocalFolders

cat $rule | sed -n "s/name=\"MoveTo: \(.*\)\"$/$dst\/\1/p" | xargs touch

サーバにメールを残す設定

サブ PC の設定はメイン PC からコピーしてきたので、このままではサブ PC 側でもメールをダウンロードしたときにサーバ上のメールを削除してしまいます。つまりメインとサブがメールを奪い合って各 PC に散在することになってしまいます。サブ PC では新着メールのチェックだけできればよいので、メールをサーバ上に残すように設定を変更します。やり方は簡単で、ハンバーガーボタン > [アカウント設定] > [サーバー設定] タブ (図 4) を開いて「ダウンロード後もサーバーにメッセージを残す」にチェックを入れるだけです。