Microsoft の Outlook.com から「安全性の低いサインインテクノロジーが使用されているアプリでメールにアクセスすることができなくなります。」というメールが届きました。
新しい認証方式に変えなくてはならないとのこと。2024/9/16 以降は古い認証方式を使っている場合はメールサーバーにアクセスできなくなるらしい。
より詳しくは下の公式サポートページが分かりやすいです。
Microsoft 以外のメール アプリで Outlook メールの同期を続行するために、最新の認証方法が必要になりました - Microsoft サポート
長年にわたって、アプリケーションでは基本認証を使用して、サーバー、サービス、API エンドポイントに接続してきました。 基本認証は、アプリケーションがすべての要求でユーザー名とパスワードを送信することだけを意味し、それらの資格情報も多くの場合、ユーザーのデバイスに保存または保存されます。 従来、基本認証はほとんどのサーバーまたはサービスで既定で有効になっており、簡単に設定できます。 Basic Authentication は当時の標準でしたが、Basic Authentication を使用すると、攻撃者がユーザーの資格情報をキャプチャしやすくなります。これにより、盗まれた資格情報が他のエンドポイントやサービスに対して再利用されるリスクが高まります。
基本認証は、古い業界標準です。 その脅威は時間の長い間だけ増加しており、多数の製品で Basic Authentication が既に非推奨になっています。 詳細については、「セキュリティの強化 - 一緒に」を参照してください。 より優れた、より効果的なユーザー認証の代替手段があります。
Thunderbird で Outlook の新しい認証方式を使うには
新しい認証方法を使うには、メールを扱う際に「Outlook for Windows」を使っている人はアプリケーションのアップデートをするだけで良いみたいですが、私は Thunderbird を使っています。
ではどうすれば良いのでしょう。
Thunderbirdをアップデートしておき、「設定」→「アカウント設定」を開き、自分のメールアドレスのリストから「****@outlook.com」の「サーバー設定」を開きます。
まずサーバー名が「outlook.office365.com」になっていることを確認します。
Outlook は以前は受信サーバー(IMAP)が「imap-mail.outlook.com」でした。
今もこのサーバーが使えますが、「outlook.office365.com」が最新のサーバー名です。
サーバー名を「outlook.office365.com」に切り替えないと「OAuth2」が使えません(切り替えなくても「OAuth2」が選択できますが有効化されないようです)。
サーバー名が「outlook.office365.com」になっているのを確認したら、その下に「認証方式」があって変えられます。ここで「OAuth2」を選べばOKです。
「OAuth2」でサーバーに接続する際に、Thunderbird のブラウザが開いて Microsoft アカウントへのログインを求められます。
クッキーの保存を許可しておかないとエラーが出ます。認証情報をクッキーに保存するようです。
次回からはブラウザでログインせずにクッキーの情報で簡単に接続できます。アカウント名とパスワード以外にも認証情報が必要になるのが「OAuth2」での接続です。
ここの設定はメールの受信時の認証設定です。
送信時も設定を変える必要があります。
送信時の認証方式に OAuth2 が表示されない場合
上で受信時の認証方式に「OAuth2」を設定しました。次は送信時も「OAuth2」を使うようにします。
ただ、送信時の SMTP サーバーの認証方式に「OAuth2」が表示されず困りました。
調べて原因が分かったので書いておきます。分かりにくかったです。
とりあえず設定画面を開きます。
「設定」→「アカウント設定」のメールアドレスのリストの一番下にある、「送信 (SMTP) サーバー」を開きます。ここで Outolook のメールサーバーの設定を開きます。
ここで認証方式のオプションを開きますと、「OAuth2」がありません。ある人はそれを選べば設定終了です。
ここに「OAuth2」がない原因ですが、Thunderbird の仕様とマイクロソフトの説明不足が原因です。
Thunderbird は「OAuth2」が使えるサーバー名を指定してあるようで、サーバー名が違うと「OAuth2」が表示されない仕様になっています。
上の画像を見てもらうと、SMTP サーバーが「smtp-mail.outlook.com」になっています。
これは今でも使えますが実は最新のサーバー名は変わっています。
現時点(2024/7/21)でMicrosoftのサポートページを見ても送信サーバーは「smtp-mail.outlook.com」とありますが、これでは Thunderbird では「OAuth2」が使えません。
SMTP サーバーに最新サーバー名「smtp.office365.com」を指定すると「OAuth2」の認証が使えるようになります。
まず、サーバー名に「smtp.office365.com」と入力し「OK」を押して一度ウィンドウを閉じます(認証方式は後で変えます)。
一度OKを押して閉じないと「OAuth2」が表示されないようです。
その後もう一度設定を開くと、認証方式の選択肢に「OAuth2」が増えています。
これで設定完了です。
「OAuth2」はユーザー名とパスワード以外の情報が必要になるので従来の方法でメールを使っていた人にはちょっと分かりにくいですが、確かにセキュリティは良くなります。他のメールサーバーも「OAuth2」が良いです。
「OAuth2」の認証情報を保存するのにクッキーを許可しておかなければならないというのは意外と盲点かもしれません。
私はメールソフトのブラウザはクッキーを保存しない方がプライバシー保護になるのでオフにしていました。
ブラウザ認証の時にエラーが出ましたので、「office365.com」のクッキーを許可しておきました。