OAuth認証でエラー on MS365 Outlook (SenNo.12216
ながまる さん 24/01/19 17:26
 
> V7.27β12
>  Microsoft Graph APIのhttps:通信でエラーになった、可能な限り再試行するよう
>にした。
> V7.27β10
>  Microsoft Graph APIで、INTERNET_STATUS_CONNECTION_CLOSEDが届いてエラー扱
>いしてたバグ修正。

あたりでご対応いただいているだろう内容に関連しているとは想像しますが、サポー
ト会議室の方でこの件に関連するスレッドが見当たらなかったので、相談させてくだ
さい。

Microsoft 365 の Exchange サーバー (Outlook) で送受信しようとすると、V7.27
に更新後は頻度は減ったような気はするものの、引き続き以下のエラーが日に数回ぐ
らいの頻度で発生します。

> OAuth認証でエラー。「アカウント毎の設定・メールサーバー」の「OAuthログイ
>ン」をやり直してみてください。SendRequest failed   Error-code = 12157

今のところ、 Windows 11 でのみ発生し、 Windows 10 では発生しません。
32bit 版, 64bit 版に関係なく発生します。

Win11 に関連した TLS 関連っぽいエラー (ERROR_INTERNET_SECURITY_CHANNEL_ERROR
=12157 ?) ということで TLS1.3 関連では?と考えて、アカウントの設定 / メール
サーバー / 詳細 / SSL/TLSのバージョン指定 で、 TLS1.3 を切ったりしてみたので
すが、効果はありませんでした。
(この設定が、 OAuth認証の通信でも機能するのかはわかりませんが…)

[ ]
RE:12216 OAuth認証でエラー on MS365 OutNo.12220
秀まるお2 さん 24/01/20 10:08
 
 こちらの修正の件ですが、メールにて問い合わせいただいたユーザー様がおられま
して、その方とはメールでいろいろやりとりをしていた所ではありました。ただ、完
全な解決に至る前に、とりあえず1回正式版としてアップロードした所でした。

 OAuth認証で「SendRequest failed   Error-code = 12157」が出るのはまさにその
ユーザー様と同じ現象になります。これは、具体的にはWinINetっていうライブラリ
のHttpSendRequestってAPIを呼び出してエラーが返ってることになりまして、秀丸
メール的にはどうしようも無い所です。それで、最新版のVersion 7.27では、OAuth
認証でWinINet関係のエラーが起きたら1回だけ再試行するようにしています。

 1回再試行してもダメだとエラー扱いにしています。

 再試行回数を何回かに増やせばいいかもしれません。

 あと、12157番のエラーが出る原因はよく分からないんですが、オプション類で何
か対策があるとしたら、Windowsコントロールパネルの「インターネットオプショ
ン」の「詳細設定」の中にあるTLS関係の設定が関係するかもしれません。特にWindo
ws11でのみ関係するとしたら、「TLS1.3を使用する」がONならそれをOFFにしてみる
といいかもしれません。

 Windows10だとここは標準でOFFになってます。オプション名にも「試験段階」と書
いてあります。

 その辺どうでしょうか。

 ちなみにメールでやりとりしてたユーザー様からは、OAuth認証だけじゃなくて、G
raph APIでのhttps:通信も時々エラーが出るそうで、最新版ではその通信でエラーに
なった場合も可能な限り再試行するようにしています。再試行が起きてるかどうかは
送受信のやりとり記録を見ないと分からないのでなんですが・・・。

[ ]
RE:12220 OAuth認証でエラー on MS365 OutNo.12222
mig さん 24/01/21 09:22
 
 migです。横から失礼します。

 僕のところでも、同じエラーが発生していました。
 さきほど、7.27にupdateしましたので、様子を見てみます。

 取り急ぎです。

[ ]
RE:12222 OAuth認証でエラー on MS365 OutNo.12225
秀まるお2 さん 24/01/22 11:37
 
 次のβ版(Version 7.28β1)にて、OAuth認証のhttps:通信でエラーになった場合
の再試行回数を1回から3回までに変更してみます。

[ ]
RE:12225 OAuth認証でエラー on MS365 OutNo.12227
ながまる さん 24/01/22 16:11
 
> これは、具体的にはWinINetっていうライブラリのHttpSendRequestってAPIを呼び
>出してエラーが返ってることになりまして、秀丸メール的にはどうしようも無い所
>です。
>
とすると、OSの設定に登録されたhttpプロキシを経由している可能性があり、そのこ
ともエラーに関係しているかもしれません。

WinINetでAPIを利用する際、プロキシの利用設定はどうされていますか?
おそらく、InternetOpen APIで指定されているのではないかと想像します。
https://learn.microsoft.com/ja-jp/windows/win32/api/wininet/nf-wininet-internetopenw

また、秀丸側のの設定からOAuth認証時のHTTP通信でプロキシの利用の有無を設定で
きないでしょうか?

> Windowsコントロールパネルの「インターネットオプション」の「詳細設定」の中
>にあるTLS関係の設定が関係するかもしれません。特にWindows11でのみ関係すると
>したら、「TLS1.3を使用する」がONならそれをOFFにしてみるといいかもしれません。
>
こちら、敢えてV7.26に落としたうえで、「TLS1.3を使用する」をOFFにしてしてしば
らく動かしてみましたが、今のところエラーは発生しません。
このため、TLS1.3が何らかの関係があるのは濃厚そうです。
とはいえ、根本的な解決になっていないので、もう少し深堀りして確認したいです。

> 再試行が起きてるかどうかは送受信のやりとり記録を見ないと分からないのでなん
>ですが・・・。
> 次のβ版(Version 7.28β1)にて、OAuth認証のhttps:通信でエラーになった場
>合の再試行回数を1回から3回までに変更してみます。
>
V7.27 に更新後に、低頻度でOAuth認証が失敗する際の通信の詳細を見る限り、https
の通信をやり直したうえで失敗しているようでした。
Version 7.28β1 でも様子を見てみようと思います。

[ ]
RE:12227 OAuth認証でエラー on MS365 OutNo.12229
秀まるお2 さん 24/01/22 17:54
 
 先ほどVersion 7.28β1をアップロードしました。それでOAuth認証を最高5回まで
再試行するようにしました。実は今日また別のユーザー様から同じ話をメールで連絡
いただいてて、Version 7.27にて2回まで再試行するようになってエラーの頻度は多
少下がったということだそうで、だとすると、今回のβ版でなお再現頻度が下がって
ほとんど大丈夫になるんじゃないかと思います。

 あと、この問題は去年の11月頃からWindows11でのみ発生してるということで、た
ぶんWindows11かExchange Onlineかどっちかの問題じゃないかいかということで、マ
イクロソフトさんの方に一応報告されてるとの話だそうでした。なのでマイクロソフ
トさんの方で解決してくれるかもしれません。

[ ]
RE:12227 OAuth認証でエラー on MS365 OutNo.12231
秀まるお2 さん 24/01/22 18:00
 
 追試ですみません。先ほどアップロードしたVersion 7.28β1ではプロキシについ
てのオプション指定は追加してないです。

 プロキシを通さない(INTERNET_OPEN_TYPE_DIRECT指定する)オプション追加はし
てもいいので、もしβ1でもダメそうでしたら次のβ2で追加してみたいと思います。

[ ]
RE:12231 OAuth認証でエラー on MS365 OutNo.12232
ながまる さん 24/01/23 15:02
 
> OSの設定に登録されたhttpプロキシを経由している可能性があり、そのこともエ
>ラーに関係しているかもしれません。
>
OS側の設定でhttpプロキシを経由させない設定にできたのですが、それでもエラーが
発生したため関係はなさそうでした。
(このため、プロキシを通さない設定をβ版に加えていただくのは無くても問題なさ
そうです)

再試行回数を増やしていただいた7.28β1で、最終的にエラーとなるのがどれぐらい
減るか、しばらく試してみようと思います。

[ ]
RE:12232 OAuth認証でエラー on MS365 OutNo.12233
秀まるお2 さん 24/01/23 18:53
 
 OSのTLS1.3有効/無効設定とは別に秀丸メールで独自にTLS1.2のみにする方法も一
応ありました。

 WinInetのライブラリでは無理そうでしたが、WinHttpってライブラリの方にはその
辺のオプション指定がありました。

    https://learn.microsoft.com/ja-jp/windows/win32/winhttp/option-flags

 WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2とかがあります。

 WinInetからWinHttpを使うように直す前提(少し面倒)にはなりますが、とりあえ
ず回避用にWinHttpを使った上でさらにTLSのバージョン指定するオプション追加って
作戦も可能かなぁとは思います。

[ ]
RE:12220 OAuth認証でエラー on MS365 OutNo.12234
Nishibe さん 24/01/23 20:10
 
横から失礼します。

当方、Win11 + 7.26の環境で12157エラーが頻発しておりましたが、
7.27へアップデート後一切発生しなくなりました。
ちなみに「TLS1.3を使用する」はONのままです。


ご参考まで。

[ ]
RE:12233 OAuth認証でエラー on MS365 OutNo.12235
ながまる さん 24/01/24 01:30
 
V7.28β1でリトライ回数を増やしていただいた以降、OAuth認証エラーに遭遇する事
はなくなりました。
ただ、送受信中の詳細表示でリトライされている様子も見かけていなくなったため、
もしかしたら内部的なエラーの発生頻度自体が下がっているのかもしれません。
いつOAuth認証が行われたかや、内部エラーでリトライされたかは、どこかのログで
確認できるのでしょうか?

[ ]
RE:12235 OAuth認証でエラー on MS365 OutNo.12236
mig さん 24/01/24 07:06
 
migです。
v7.27にupdate以降、記憶の限り一度も起きていません。安定しています。
取り急ぎ、ご報告まで。

[ ]
RE:12220 OAuth認証でエラー on MS365 OutNo.12237
江袋 さん 24/01/24 10:23
 
本件とは関連ないと思いますが、参考情報と言うことで…

数日前からoutlook.jpのPOP3アクセスでパスワードエラーが出るようになったため、
OAuth認証に切り替えたところ、正常に受信するようになり事なきを得ましたが、パ
スワードは問題なかったはずで、原因は今のところ分かっておらず…

ちなみに秀丸メールのPOP3自動設定を見直していた際、Microsoftサポートに掲載さ
れているPOPサーバー名と異なっていることに気が付きました。

(自動設定) pop-mail.outlook.com
(サポート) outlook.office365.com

https://support.microsoft.com/ja-jp/office/outlook-com-%E3%81%AE-pop-imap-%E3%81%8A%E3%82%88%E3%81%B3-smtp-%E3%81%AE%E8%A8%AD%E5%AE%9A-d088b986-291d-42b8-9564-9c414e2aa040

いずれにしましても、両方とも先述のエラーが出たので、あまり影響はないのかもし
れませんが、取り急ぎ情報共有まで

[ ]
RE:12236 OAuth認証でエラー on MS365 OutNo.12238
秀まるお2 さん 24/01/24 11:01
 
 ながまるさん、migさん、Nishibeさん、いろいろ情報ありがとうございます。

> いつOAuth認証が行われたかや、内部エラーでリトライされたかは、どこかのログ
>で確認できるのでしょうか?

 送受信のやりとり記録のログ(smtp_pop3*.txt)か、または秀丸メールの動作の記
録(dump.txt)を取ると、後で確認が可能になる、と思ったんですが、すみませんが
問題がありました。送受信のやりとり記録の方にはOAuthログインについての記録が
出てませんでした。その辺、次のβ版で修正しようと思います。

 とりあえず現状だと「全般的な設定・上級者向け・動作の記録」の中の「秀丸メー
ルの動作をdump.txtに記録する」の方で、dump.txtを見るしか無さそうです。

10:57:00.579 (  46) tid=12268 SendRequest failed   Error-code = 12157
10:57:00.579 ( 211) tid=12268 DoOAuth done and post mode=3 ret=0 AccessKey=4
9 AccessToken=0 RefreshToken=420
10:57:00.581 (15174) tid=12268 OAuthThreadFunc end 0000020125497C60
10:57:00.590 (14795) FreeAuthInfo 0000020125497C60
10:57:00.591 (11269) https:の通信でエラーになったので再試行します。エラー
コード=12157

 みたいな記録が出ます。

 送受信のやりとり記録上だと、以下のような記録になります。

開始時刻: 2024/01/24 10:52:32
****受信:{アカウント名}
I OAuth認証
I https:の通信でエラーになったので再試行します。エラーコード=12157
I OAuth認証
I OAuth認証に成功しました
I サーバーを検索中 - pop-mail.outlook.com
I 接続中 - 40.99.94.2 (port=995,POP3)
I 接続完了
I SSL初期化中(TLS1.0/TLS1.1/TLS1.2)
I 暗号化開始 (TLS1.2/AES_256/256bit)
R +OK The Microsoft Exchange POP3 service is ready. [........]
S AUTH XOAUTH2
R +
S ****
R +OK User successfully authenticated.
I メール一覧を取得中
S STAT
,,,,,,,,,,

[ ]
RE:12237 OAuth認証でエラー on MS365 OutNo.12239
秀まるお2 さん 24/01/24 11:32
 
 僕もネット検索などしてみたら、たしかに秀丸メールの自動設定でのホスト名は古
いようでした。最新のホスト名に変更させていただきます。

 ちなみに最近ユーザー様から連絡があった事例で、ぷららさんに突然接続できなく
なったって話が届いて、秀丸メールでの自動設定でのTLSがOFFになってしまってるこ
とに今さら気づきました。それも直した所ですが、ぷららさんの方でTLSがOFFでもつ
ながるようにまた戻ったみたいです。たぶんつながらなくなったことで問い合わせが
いっぱい届いて、また元に戻したんじゃないかと思います。

[ ]
RE:12239 OAuth認証でエラー on MS365 OutNo.12244
江袋 さん 24/01/24 18:26
 
ありがとうございます。了解です!

[ ]
RE:12239 OAuth認証でエラー on MS365 OutNo.12255
江袋 さん 24/01/26 07:56
 
V7.28β2でOutlookの最新POP3/IMAP4サーバー名が適用されることを確認しました。
ありがとうございます。

ところで細かい点で恐縮ですが、自動設定直後、具体的にはPOP3→IMAP4やIMAP4→PO
P3変更時、ダイアログの先頭に表示される「受信メールサーバー(XXX)(R)」がPOP3や
IMAP4のままになっている点が気になりました。確かβ1では変更に追従して、表示も
自動的に変わっていたと記憶しているのですが…

OKボタンを押して再度表示させると、表示も変わるので実害はありませんが、取り急
ぎお礼&ご報告まで

[ ]
RE:12255 OAuth認証でエラー on MS365 OutNo.12256
秀まるお2 さん 24/01/26 10:32
 
 「アカウント毎の設定・メールサーバー」の

 受信メールサーバー(POP3)(R):

 の所と、あと他には「メールサーバー・詳細」ページのポート番号の

 POP3(3):

 と、さらはには

 POP over SSL(C)

 の所など、一応、その辺の所の「POP」と「IMAP」の書き換え処理は以前から変更
してなくて、今回のβ版でも、こちらでテストした限りはうまく動作してるように思
います。いろいろテストしてみたんですがダメなパターン見つからずでした。

 例えば「アカウント毎の設定・メールサーバー・POP3/IMAP4」のページを選択した
状態でOKしてからもう一度「アカウント毎の設定」を呼び出すと、その段階では
「メールサーバー」のページは初期化されてなくて、その状態でPOP3/IMAP4を切り替
えてから「メールサーバー」ページを選択した場合は別の処理が動くことになるんで
すが、その場合もテストして大丈夫そうでした。

 何かダメなパターンもあるんだろうと思うんですが、いろいろテストした限りは分
からずでした。

 もし簡単に再現するようでしたら、再現する例の1つ教えて欲しいです。あるいは
僕のやったような簡単なテストでもダメなら、そうなってることを教えて欲しいです。

 テストしてもうまく再現しない(江袋様の方で再現が困難)でしたら、とりあえず
放置させていただこうかなぁと思います。

[ ]
RE:12238 OAuth認証でエラー on MS365 OutNo.12257
ながまる さん 24/01/26 17:00
 
しばらく動かした dump.txt を見た限り、内部的には現在もたびたびエラーは起きて
いて、1〜2回の再試行でうまくエラーを握りつぶせているようでした。
リトライのワークアラウンドはかなり効果的に機能しているようです。

V7.28β2 での smtp_pop3*.txt の方への出力の対応も、ありがとうございます。

>10:57:00.591 (11269) https:の通信でエラーになったので再試行します。エラー
>コード=12157
>10:57:00.591 (11927) https:の通信でエラーになったので再試行します。エラー
>コード=12157
>
具体的に何か問題があるわけではありませんが、行番号?の異なるこのメッセージが
一回のエラーにつき2回ずつ出ていたのが、少々気になったので、ご報告しておきます。

[ ]
RE:12257 OAuth認証でエラー on MS365 OutNo.12258
秀まるお2 さん 24/01/26 17:42
 
 再試行がたしかに起きてる(最高3回程度)ということで、確認ありがとうござい
ます。

> 行番号?の異なるこのメッセージが一回のエラーにつき2回ずつ出て

 たしかにソースコード上の行番号の異なる場所でそれぞれログ出力してました。

 dump.txtは基本的には僕がデバッグする用なので、あんまり洗練されたログにはな
ってないです。smtp_pop3*.txtの方はちゃんとしてるので、そっちの方を見ていただ
くってことでお願いします。

 とりあえずは再試行の回数増加で現状大丈夫そうなので、この辺のはそのままにさ
せていただます。

[ ]
RE:12256 OAuth認証でエラー on MS365 OutNo.12261
江袋 さん 24/01/27 05:58
 
ご確認ありがとうございます。

念のためV7.27で試したところ、V7.28β2と同じ動作でした…と言うことで、ダイア
ログの表示自動更新は私の勘違いだったようです。

先述の通り、OKボタンを押せば表示は変わりますし、問題ありませんので、このまま
の仕様でよろしいかと存じます。

以上、取り急ぎお礼&ご報告まで

[ ]
RE:12261 OAuth認証でエラー on MS365 OutNo.12262
秀まるお2 さん 24/01/27 18:09
 
 一応、表示の自動更新(ダイアログボックス中のPOP3/IMAPの表示の書き換え)は
してるはずなんですが、江袋さんの所ではうまく動いてないらしいということです
が・・・、僕の所での再現方法がよく分からないのと、それほど重要な問題では無い
だろうと思うので、とりあえずは調査保留させていただきます。

[ ]
RE:12262 OAuth認証でエラー on MS365 OutNo.12266
zurarin66 さん 24/01/29 13:41
 
窓の杜によると
"「Outlook」をはじめとするメールアプリで「Outlook.com」に接続できない問題が
発生中"

> 米Microsoftは1月26日(現地時間)、デスクトップ版「Outlook」アプリ
> をはじめとするメールクライアントで「Outlook.com」に接続できない
> 問題が発生していることを明らかにした。

らしいです。

[ ]