Cai さんが書きました:
SMTP だと送信に失敗します……
Bug 1775077 Thunderbird will not ask for an Oauth2 password for office 365 SMTP
組織アカウントなら管理者設定を変更することで回避策があるようですが、個人アカウントだとそれも使えません。
IMAP/POP (OAuth2) + SMTP (通常のパスワード認証) が現状の限界です。
Exchange Online で認証済みクライアントの SMTP 送信 (SMTP AUTH) を有効または無効にする
https://learn.microsoft.com/ja-jp/excha ... submission引用:
Office 365 または Microsoft 365 の Exchange Online メールボックスに接続する、ほぼすべての最新メール クライアント (Outlook、Outlook on the web、iOS メール、iOS および Android 用の Outlook など) では、メール メッセージの送信に SMTP AUTH を使用しません。
したがって、Exchange Online 組織で SMTP AUTH を無効にし、引き続き必要とするアカウント (メールボックス) でのみ有効にすることを強くお勧めします。
引用:
注意
組織でセキュリティの既定値が有効になっている場合、SMTP AUTH はExchange Onlineで既に無効になっています。 詳細については、「セキュリティの既定値とは」を参照してください。
認証ポリシーで SMTP の基本認証が無効になっている場合、この記事で説明する設定を有効にしても、クライアントで SMTP AUTH プロトコルを使用することはできません。
自社アプリでは必要ないから SMTP AUTH (SMTP で OAuth2) を無効にすることを推奨するよ、セキュリティ重視の設定になってる法人アカウントであれば既に無効化したよ、というなかなか酷い話です。
Thunderbird のような汎用メールクライアントでの利用は、組織利用では結構あると思うんですが。
同じタイミングで個人アカウントでも問答無用で無効化されてしまったのでしょう。
法人アカウントであれば、Microsoft 365 管理センターから
引用:
1. [ユーザー] [アクティブ なユーザー]> に移動します。
2. ユーザーを選択し、表示されたポップアップで [メール] を クリックします。
3. [メール アプリ] セクションで、[メール アプリの管理] を選択します。
4. [認証済み SMTP] の設定を確認します (オフ = 無効、オン = 有効)。
5. 完了したら、[変更の保存] をクリックします。
あるいは、PowerShell Exchange Online から
引用:
Set-CASMailbox -Identity
hogefuga@example.com -SmtpClientAuthenticationDisabled $false
とすることでメールボックス単位で SMTP AUTH を有効化できるとのことです。
個人アカウントではこれらの方法は使えないので、現状では SMTP AUTH を利用する術がありません。
基本認証 (アカウントとパスワード) のみになります。
IMAP/POP は先進認証 (OAuth2) が利用可能なままなのは一貫性がなくチグハグですね。「先進認証」とぶちあげた割には、結局アプリパスワードからも解放されない中途半端さ。