弘前大学からThunderbirdでメールを送信できなくなった

タイトルの通り、弘前大学の学内?(本記事の「学内」は私の周辺に限るので、たとえば文京町以外のキャンパスを含むかどうかは不明)から最新のThunderbird(電子メールクライアント、いわゆるMUA)でメールを送信できない問題に遭遇しました。

それが発覚したのは2024年12月18日でした。そのときは自分の環境だけで生じる問題だと考え、適当な方法(代替ソフトウェアを使用)で問題を解消しましたが、今月(2025年3月)に入って同僚のKさんにも同じ状況が生じた(このときに新規インストールしたらしい)という話を耳にして、それをきっかけに改めて解決法を模索してみました。

現象

まずは、結果的に認識した状況をまとめます。

  • Thunderbirdの132、もしくはそれより新しいバージョンでのみ発生する。Windows版とMacOS版で確認(本項の状況はKさんによって発見されました)。
  • 弘前大学内からメールを送信しようとすると、SMTPサーバとの通信がタイムアウトしたというエラーがダイアログに表示される。
    • 学内有線LANから、Hiroin Wi-Fi(学内無線LAN)から、学内eduroamからのいずれの送信でも同じ現象を確認。
    • 同じPCからスマートフォンの回線経由ではメールを送信できた。
    • SMTPサーバは弘大メールのsmtp.office365.comの他に、それとは全く関係ない1カ所で同じ症状を確認。
    • メール受信は正常にできる。

解決

ユーザとしての解決策は、以下のようになります。

  • security.tls.enable_kyberをfalseに設定する。
    • 「設定」の「一般」タブの一番下にある「設定エディター」から。
    • Thunderbirdの132からは、これの既定値がtrueになっている。

これでメールを送信できるようになりました。

補足

これは(弘前大学内で)Thunderbirdの最新リリース版を使っていると遭遇する問題ですが、ほとんどの人は(まだ)遭遇していないものと推測します。何も考えずに使っていれば、Thunderbirdの更新チャンネルがesr安定版を使う設定)になっており、Thunderbirdを更新しても最新リリース版がインストールされないからです。

しかし、2025年3月からはデフォルトの更新チャンネルがrelease(最新リリース版を使う設定)になることが発表されています(日本語のリソースとして窓の杜を挙げておきます)。既存の安定版のThunderbirdは安定版のままですが、新規に(何も考えずに)インストールすると最新リリース版がインストールされるため、本記事の症状に遭遇する機会がこれから増えてくるものと推定されます。

安定版をインストールしたい場合、ちょっと回り道をする必要があります。

  • 公式サイトからダウンロードする場合、トップページの目立つ「Download」ボタンではなく、「ダウンロードと言語のオプション」から、「Thunderbird Extended Support Release」 のチャンネルを選んでダウンロードする。
  • Homebrewユーザは、thunderbird@esrをインストールする。
  • chocolateyは今のところesr版しか提供されていないっぽい。
  • wingetでは普通にinstallすると最新リリース版になりそう。--version 128.8.0のようにバージョン指定するしかない?

(余談)試行錯誤したこと

12月にタイムアウトエラーに遭遇したときは、とりあえずという感じでパケットキャプチャを行いました(定番?のWiresharkを使っています)。その結果、以下のことがわかりました。

  • SMTPでSTARTTLSコマンドを送り、Readyの応答を受けた後のClient Helloを送ったところで通信が途絶えている。その際に経路途中の学内サーバ(ルータ?ゲートウェイ?)から”Fragmentation needed”なICMPの応答が返ってきている。
  • タイムアウトが起こるバージョンでは、それ以前のバージョンに比べてClient Helloのパケットサイズが大きい(フラグメント化されている)。鍵共有アルゴリズムに「よくわからない」(Wiresharkが認識していない)アルゴリズムが記述されており、そのパラメータのサイズが大きい(約1200バイト)。

このときはそこで打ち切ったのですが、上述の事情で調査を再開し、(Kさんがバージョンを特定してくれたので)当該バージョン間でTLSのハンドシェイクに関係しそうな設定値を目視でdiffしていたら、security.tls.enable_kyberに辿り着きました。

【この段落は特に浅い理解に基づいているので注意】kyberというのは、PQC(耐量子暗号:量子コンピュータでも解読が困難であるとされる暗号)関連の機能です。上記の「よくわからない」アルゴリズムのグループIDは4588(0x11ec)でしたが、これはX25519MLKEM768に割り振られたものになります(参考:IETFのDatatracker)。

ただしそれが有効化されたThunderbird132は2024年10月29日にリリースされており、私のPCでも10月30日にアップグレードされています(2024年10月にHomebrewからThunderbirdをインストールしたので、releaseチャンネルだったのでした)が、その時点ではメール送信ができていました。最後にメール送信できたのが12月11日でしたので、それ以降(18日まで)に学内ネットワークに何らかの構成変更があったのだと推測しています。

大本営発表

ということを簡潔にまとめたのが、情報基盤センターの記事(2025年3月13日)になります。