Thunderbird 既存のメールアドレスのセットアップ できない

先日Thunderbirdを使う機会があり、メールアカウント設定の際にうまくいかなかったのでログの取り方をメモしておきます。

ログを見てなんとかできるぐらいの方を読者対象としています。

想定環境

  • Windows 10
  • Thunderbird 52.6.0

ログの取り方

Thunderbirdでログをとるには環境変数で目的の動作を指定します。

環境変数をセットするコマンド例は以下のとおり。IMAP,POP,DNSのログを取得します。

set NSPR_LOG_MODULES=timestamp,append,IMAP:2,POP3:2,nsHostResolver:4
set NSPR_LOG_FILE=C:\thunderbird.log

NSPR_LOG_MODULES に取りたいログの種類オプションを指定します。

  • timestamp

UTCでタイムスタンプを付与。

  • append

ログの追記。指定しない場合はThunderbirdを起動するたびに初期化される。

NSPR_LOG_FILEログを出力先を指定します。

続けてThunderbirdを起動します。

cd "C:\Program Files (x86)\Mozilla Thunderbird"
thunderbird.exe

ログレベルの話

0 = PR_LOG_NONE: log を取りません 1 = PR_LOG_ALWAYS: 重要。全ての log を取ることを意図しています。 2 = PR_LOG_ERROR: errors 3 = PR_LOG_WARNING: warnings 4 = PR_LOG_DEBUG: デバッグメッセージ、注意 5: 全部取ります!

NSPR LOG MODULES - Mozilla | MDN

ログレベルは0から5まであります。

5にすると一番多くログが出力されますが、かなりカオスになるので徐々にあげていくことをおすすめします。

エラーを取りたいときは2、デバッグログを取りたいときは4ぐらいを目安にするといいです。

環境変数の話

setコマンドで設定される環境変数は一時的なものです。

別ウィンドウでコマンドプロンプトを起動してsetを実行すると環境変数がないのがわかります。

環境変数を設定したコマンドウィンドウからThunderbirdを起動する場合は良いですが、スタートメニューから起動する場合は注意しましょう。

恒久的に設定したい場合は、setxコマンドを使います。

setx NSPR_LOG_MODULES timestamp,append,IMAP:2,POP3:2,nsHostResolver:4
setx NSPR_LOG_FILE C:\thunderbird.log

どこで失敗しているのか調べる

メールサーバーの設定が間違っている場合

メールサーバーの設定が間違っている場合はここでコケます。

Thunderbird 既存のメールアドレスのセットアップ できない

Thunderbird はあなたのアカウント設定を見つけられませんでした。

アカウントが見つからないと警告が出ますが、実際にはメールサーバーの名前解決ができなかった場合に出るようです。

この時のログはnsHostResolverが出力します。

D/nsHostResolver DNS lookup thread - lookup completed for host [imap.msen.jp]: failure: unknown host.
	:
D/nsHostResolver DNS lookup thread - lookup completed for host [mail.msen.jp]: failure: unknown host.
	:
D/nsHostResolver DNS lookup thread - lookup completed for host [pop.msen.jp]: failure: unknown host.
	:
D/nsHostResolver DNS lookup thread - lookup completed for host [smtp.msen.jp]: failure: unknown host.

また、メールサーバーのホスト名を変更して、再テストをしてもなんの画面遷移もない場合も同様です。

WireShark等でパケットをのぞいてみるとよくわかりますが、実際には裏で入力されたホスト名をDNSに聞きにいってます。

名前解決ができた場合だけ次のステップに進めるようです。

せめて、なんかやってます感は出してもらいたいですね。

ここから進まない方は、メールサーバーのホスト名を確認してみてください。

メールアカウントの設定が間違っている場合

メールアカウントが間違っていても、メールサーバーの設定があっている場合はここまでいけます。

Thunderbird 既存のメールアドレスのセットアップ できない

次のアカウント設定が、指定されたサーバーを調べることにより見つかりました。

なんでだよ。って感じですが、このまま[完了]をクリックしてみます。

Thunderbird 既存のメールアドレスのセットアップ できない

設定を確認してください。ユーザー名やパスワードが間違っていませんか?

メールアカウントの設定が間違っている場合はここでコケます。

この時のログはIMAPまたはPOP3が出力されます。

  • IMAPの場合

IMAP: ask user what to do (after login failed): new passwort, retry, cancel
login failed entirely

  • POP3の場合

POP: no auth methods remaining, setting password failure

ここで詰まっている場合は、メールアドレスやパスワードに間違いがないか確認してみてください。

目的のログがどこで出るか正確に捕捉する

「何時何分にどういう動作をした」というのはログを見る上で非常に重要です。

○○時○○分にどこどこをクリックして・・・を控えて後からログを追うというもアリなんですが、リアルタイムに分かるほうがよりシューティング精度が高まります。

PowerShellのGet-Contentコマンドを使って目的の文字列を含むログが出力されたときだけ表示するようにしましょう。

Get-Content C:\thunderbird.log -wait | Select-String "fail"

Linuxだとtail -f ./thunderbird.log | grep -i "fail"で流している感じですね。

all:5だとなぜかDNSのログが記録されない・・・

余談ですが、Mozillaのホームページではすべてのログを取りたい場合はall:5を指定しろと書いています。

確かにいっぱいログが出るのですがnsHostResolverのログがなく、名前解決に失敗しているのかがわかりません。

原因はわかりませんが、調査の際にはモジュールを個別に指定することをおすすめします。

モジュールの一覧は下記の参考ページを参照してください。

参考

NSPR LOG MODULES - Mozilla | MDN Xoatlicue: Investigating NSPR Logging

Thunderbirdのセットアップ手順は?

1.インストールする.
【2】ダウンロードファイルを起動後、[次へ]をクリック.
【3】[標準インストール]を選択後、[次へ]をクリック.
【4】インストール先を確認後、[インストール]をクリック.
【5】インストール開始。 しばらくお待ちください.
【6】インストール(セットアップ)完了メッセージが出たら、[完了]をクリック.

サンダーバードIMAPのポート番号は?

「Thunderbird」を起動します。 別のアカウントをセットアップの「メール」をクリックします。 ... ■新規設定(IMAP).

ThunderbirdのSMTP設定方法は?

Thunderbird を起動します。 ② 設定変更したいメールアドレスの上で右クリックし、表示されたメニューから[設定]を選択します。 ③ [アカウント設定]タブが開いた後、最下部にある[SMTP サーバーを編集]をクリックします。 ④ 下表(赤字部分)どおりに設定変更した後、OK をクリックします。

サンダーバード 設定を確認してください。ユーザー名やパスワードが間違っていませんか?

ユーザー名やパスワード設定間違っていないか確認してください。」が表示される場合は、入力されたメールアドレスのメールユーザー名 (@ より左側) やパスワードに誤りがある可能性があります。 メールアドレスやパスワードをご確認のうえ、再度ご入力をお試しください。 以上で、POP でのメールアドレスの設定は完了です。