[スレッド全体]

[57723] Re:Gmail(OAuth2)利用時の送信認証エラーについて返信 削除
▽ 2026/10/21 (水) 14:07:14 ▽ KOBAYASHI Jun
196.126.100.220.dy.bbexcite.jp / Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
GoogleのGmailヘルプコミュニティにもご質問を頂きましたので、こちらに調査した内容を報告します。

結論から、Google側のGmailAPIやoAuth2における問題は報告がなく実装にも問題は無いと思われます。
調査した内容と、Becky!側での実装を確認いただきたいので、以下の情報をお伝えします。


■ 検証した方法
・Windows上のWSL/LinuxでPythonスクリプトを使用し、GmailのSMTPサーバー(smtp.gmail.com:587)へSTARTTLSで接続して、XOAUTH2認証を行いました。
・メール送信は行わず、認証のみを検証しています。各試行では新しいSMTP接続を使用しました。
・Googleから取得したアクセストークンの有効期間は3599秒でした。トークンの識別用ハッシュを比較し、同じトークンを使い続けた場合と、更新した場合の応答を確認しました。

■ 試験1:更新せずに期限前後で認証
同じアクセストークンを保持し、更新せずに認証を繰り返しました。
・取得直後:235 Acceptedで成功。
・推定期限の約120秒前:同じトークンで成功。
・推定期限の約30秒後・120秒後・300秒後:いずれも535 BadCredentialsで失敗。
・その後、リフレッシュトークンで新しいアクセストークンを取得:235 Acceptedで成功。
失敗時も接続・STARTTLSは成功していました。期限後のトークンは、接続し直すだけでは復旧せず、更新後に認証できました。


■ 試験2:期限前に更新する比較
旧トークンを保持しながら、期限前に別のアクセストークンを取得しました。

・旧トークンは、当初成功していましたが、その後535で失敗するようになりました。
・旧トークンが失敗した直後でも、事前に更新したトークンでは235で成功しました。
・さらに新しく取得したトークンでも235で成功しました。


■ まとめ
・Gmail側で、同じアクセストークンの認証が時間経過に伴って成功から失敗へ変わり、更新したトークンでは成功する挙動を確認しました。


■ Becky!の実装で確認いただきたい点
・最初の認証失敗時に使用したトークンは、有効期限内だったか。
・トークン更新は、認証前・認証失敗後・手動再送時のどこで実行されるか。
・更新完了を待ってからSMTP認証を開始しているか。
・更新したトークンが、進行中のSMTP送信処理にも反映されているか。
・利用者ログの535直後にある二度目のAUTH XOAUTH2が、どのような処理・応答になっているか。

上記観点で確認頂ければ、こちらの問題は恐らく確認と修正が出来るように思います。
なお、別のメールクライアントである Thunderbird では同様の問題は生じません。


[57724] Re2:Gmail(OAuth2)利用時の送信認証エラーについて返信 削除
▽ 2026/10/21 (水) 23:21:47 ▽ とりま
ai068095.d.east.v6connect.net / Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
ありがとうございます。

ご提示いただいた確認事項について、利用者として観察できた範囲の情報を共有します。

�@ 最初の認証失敗時に使用したトークンは、有効期限内だったか。

→ 利用者側からは確認できておりません。

�A トークン更新は、認証前・認証失敗後・手動再送時のどこで実行されるか。

→ 利用者側からは確認できておりません。ただし、長時間Gmailを利用していない状態の後の最初の送信では「535 5.7.8 BadCredentials」となり、その後、同じメールを何も変更せずに再送すると「235 2.7.0 Accepted」となります。

�B 更新完了を待ってからSMTP認証を開始しているか。

→ 利用者側からは確認できておりません。

�C 更新したトークンが、進行中のSMTP送信処理にも反映されているか。

→ 利用者側からは確認できておりません。ただし、初回送信では認証エラーとなり、同じメールを直後に再送すると成功することから、初回失敗と再送成功の間で認証に用いられる情報に何らかの変化が生じているように見えます。

�D 利用者ログの535直後にある二度目のAUTH XOAUTH2が、どのような処理・応答になっているか。

→ 私の失敗時ログでも、

「AUTH XOAUTH2」
 ↓
「535 5.7.8 BadCredentials」
 ↓
「AUTH XOAUTH2」

という順で記録されております。

ただし、その後の応答はログには残っておらず、この時点でエラーメッセージが表示され、しばらくするとメール編集画面が開きます。

その後、同じメールを再送すると認証が成功し、正常に送信できます。

利用者として確認できるのは以上です。ご参考になればと思います。

[57725] Re3:Gmail(OAuth2)利用時の送信認証エラーについて返信 削除
▽ 2026/10/22 (木) 01:41:39 ▽ KOBAYASHI Jun
196.126.100.220.dy.bbexcite.jp / Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36
▼ とりまさん
こんばんは

こちらですが、この問題は恐らくBecky!が、有効期限切れのアクセストークンを使ってGmailの送信認証を行うため、一定時間*経過後の最初の送信が失敗する問題だと予想されます。
認証失敗後にトークンが更新される、または更新結果が反映されるため、手動再送では成功すると考えられます。
原因がこのとおりであれば、送信前にトークンの有効期限を確認し、必要な更新と反映を完了してから認証するようにBecky!側で改修を頂くことで問題は改善できると思います。
備考:画面では「ネットワーク障害」と表示されますが、ログ上の直接のエラーは認証失敗です。

※:「一定時間」とは
最後に送信してからではなく、アクセストークンを取得・更新してから通常約1時間です。今回の検証では有効期間は3599秒でした。途中で送信に成功しても、同じトークンの有効期限は延長されません。


情報はBecky!を制作されているRimArtsさん向けでした。
同じ問題はThunderbirdでは発生しません(上記のようなロジックではないので)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.84