Thunderbird メールの設定が「セキュリティ例外を承認」が表示されずメール送信ができない。

以前、サンダーバードでのメール設定方法を記事にしましたが、ダークテーマに対応したThunderbirdにアップデートしたくらいからメールが正常に送信できない症状が出たので解決策を探してみました。

Thunderbirdでのメール設定方法は「Thunderbirdでメールの設定がエラーになる〜セキュリティ例外を承認」を参考にしてください。

メール送信時にエラーが出る

Thunderbirdにメールアカウントを設定しメールを送信すると「メッセージを送信できませんでした。Unable to communicate securely with peer: requested domain name dose not match server’s certificate ドメイン名 に関する設定を見直してください。」「メッセージを送信できませんでした。Unable to communicate securely with peer: requested domain name dose not match server’s certificate IPアドレス に関する設定を見直してください。

送信用サーバーとしてドメインもしくはIPアドレスを設定していたのですがエラーで送信が完了しませんでした。指定したホスト名とサーバー証明書のホスト名が一致しないエラーのようです。

メール送信時に「セキュリティ例外を承認」が出ない

メール設定後、メール送信時に一度だけ「セキュリティ例外を承認」のアラートが出ますが、アップデート後このアラートが出なくなり、「セキュリティ例外を承認」することができない仕様?のようです。

今までは、末尾に送信ポートを記載したURLが自動挿入され「セキュリティ例外を承認」ボタンが有効になったウインドウが表示され「セキュリティ例外を承認」で正常にメールが送信できるようになりました。

以前は出ていた「セキュリティ例外を承認」

セキュリティ例外を手動で登録

「セキュリティ例外を承認」のアラートが出ないので手動で「セキュリティ例外」を登録してみました。
「セキュリティ例外」の手動での登録方法はメニューの「Thunderbird」内の環境設定より行います。

環境設定内の「プライバシーとセキュリティー」をクリックしページ下部にある「証明書を管理…」をクリックします。

環境設定

証明書マネージャーが開いたら、タブメニューの「サーバー証明書」をクリックし、「例外を追加…」ボタンをクリックします。

証明書のリストにはメールアカウント設定時に「セキュリティ例外を承認」した受信ポート付きのURLが登録されています。

証明書マネージャー

「例外を追加…」をクリックするとURLを入力するウインドウが表示されるので送信ポート(今回は587ポート)を付与したURLを指定します。

URLを入力し終えると「証明書がありません」のエラーが表示されます。
ポート番号なしのURLの場合は正常に登録できますがポート番号を付与すると登録することができませんでした。

送信用サーバーのホスト名をサーバー名に変更する

手動での「例外を追加」ができないので、送信用のメールサーバーとして指定していた「ドメイン名」もしくは「IPアドレス」を「サーバー名」に変更してみました。

変更後、一度メールアカウントのパスワードが聞かれ入力することで正常に送信することができました。

サーバー名を調べる

独自ドメインや専用サーバーなどを利用している場合は、MXレコードに設定しているドメイン名かメールサーバーのIPアドレスが引けるドメインまたは、サーバーのIPアドレスなどを設定していると思いますが、この部分をサーバー名に変更します。

サーバー名を調べるにはIPアドレスが必要になります。

hostコマンドでドメインからIPアドレスを確認し、IPアドレスからサーバー名を取得しました。
例ではIPアドレスが「210.000.000.000」、サーバー名が「sv210000000000.domain.jp.」であることが分かりました。

送信用サーバーにサーバー名を設定

上記でわかった「sv210000000000.domain.jp.」を送信用サーバーとして設定することでメールを送信することができました。

今回利用したThunderbirdは現時点で最新の78.3.3でした。

追記(詳細な原因がわかりました)

送信用メールサーバーの設定によるメール送信不可の件ですが、詳細な理由がわかりました。

サーバーにインストールしている証明書が「自己証明書」か「正規の証明書(今回はlet’sEncrypt)」かで動作が異なるようです。

自己証明書の場合

自己証明書の場合は、自分勝手な証明書なため「セキュリティ例外を承認」のアラートが出て、証明書を承認することでメールの送信ができました。

自己証明書の場合のアラートは「メッセージを送信できませんでした。The certificate is not trusted because it is self-signed.ドメイン名に関する設定を見直してください。」で「Unable to communicate securely with peer: requested domain name dose not match server’s certificate ドメイン名」とは異なるようです。

このアラート内の「OK」をクリックすると「セキュリティ例外を承認」のウインドウが表示されます。

正規の証明書(今回はlet’sEncrypt)の場合

正規の証明書(今回はlet’sEncrypt)の場合は、実際に証明書が入っているので「セキュリティ例外を承認」がそもそも出ません。また、証明書のコモンネームと送信用メールサーバーに設定したホスト名が一致する必要があります。その為、今回はサーバー名で登録された証明書なので、送信用メールサーバーに「サーバー名」を指定する必要がありました。

メールアカウントのドメインを送信用メールサーバーのホスト名にしたい場合は、メールサービスに証明書を割り当てる必要があります。

Thunderbirdはよりセキュリティーに厳しくなっていた

この事からThunderbirdは他のメールクライアントに比べ、よりセキュリティーに厳しくなったようです。
その他のメールクライアントも後々は同様の仕様になってくると予想されます。

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)