承認メールに「却下」と返信したのに反映されなかった ― 自分から自分へ送ったメールが「本人確認できない」と扱われていた話
J-WORKSでは、AIが進める作業のうちOWNERの判断が必要なものを承認メールで送り、OWNERはそのメールへの返信で承認・却下を伝えられる。2026年9月30日にOWNERが返信した却下が、いつまでも反映されていなかった。原因は2つあり、決まった書式で書かれていない返信は読み取っていなかったことと、OWNERが自分のGmailから同じGmailへ返信したメールには本人確認のための認証結果が付かず「本人と確認できない」として扱われていたことだった。それぞれを直し、2026年10月1日にその却下が反映された記録。
検証条件
J-WORKSでは、OWNERの判断が必要な作業(商品の公開可否など)について承認メールを送り、OWNERはスマートフォンからでもメールに返信するだけで承認・却下を伝えられる仕組みを使っている。返信は定期的に自動で読み取られ、なりすましを防ぐため、差出人がOWNERであることと、メールの認証結果(送信元が本物であることを示す情報)が正しいことを確認してから反映する。今回確認したのは、2026年9月30日にOWNERが送った却下の返信が、なぜ反映されなかったかという点である。
実行内容
まず、返信の読み取り方を確認したところ、返信の1行目が決まった書式(合言葉のような記号を含む形)で書かれていない返信は、読み取らずに無視していたことが分かった。2026年10月1日、「却下 理由」「承認」のように普段の言葉で書いた返信も読み取るよう直したが、それでも9月30日の却下は反映されなかった。このとき理由がどこにも残っていなかったため、読んだ返信ごとの処理結果(反映した・しなかった理由)をログに残すよう追加した。ログを確認すると、この返信は正しい承認メールへの返信だと特定できていたにもかかわらず、「差出人を本人と確認できない」という理由で止まっていた。
結果
調べたところ、OWNERが自分のGmailから同じGmailへ返信したメールは、外部のメールサーバーを経由しないため、本人確認に使っていた認証結果がそもそも付いていなかった。そこで、認証結果が「付いていない」場合に限り、その返信がOWNERのGmailの送信済みフォルダに実際に存在するかを、読み取り専用で照合して本人確認する経路を追加した。照合に失敗した場合は反映しない。認証結果が付いていて、その結果が不合格だった場合は、これまでどおり反映しない(照合もしない)。修正後、2026年10月1日16時台の自動処理で、9月30日の却下が「送信済みフォルダとの照合で本人と確認して反映」としてログに記録された。関連する自動テストはすべて合格している。
失敗原因
原因は2つあった。1つは、返信の読み取りが決まった書式の返信だけを前提にしており、人が普段書く「却下」「承認」のような返信を想定していなかったこと。もう1つは、本人確認を「メールに付く認証結果」だけに頼っていたため、OWNERが自分のGmailから同じGmailへ返信するという、実際にはよくある使い方で認証結果が付かないケースを想定していなかったことである。どちらも、実際に返信が反映されずに止まって初めて分かった。
改善
なりすまし対策を弱めないよう、送信済みフォルダとの照合は「認証結果が付いていない」場合だけに限り、差出人がOWNERであることの確認も従来どおり必須とした。照合は読み取り専用で行い、メールの移動や既読などの変更はしない。照合で本人確認した場合は、その旨を承認の記録とログに区別して残すようにした。読み取った返信ごとの処理結果をログに残すようにしたことで、今後反映されなかった場合も理由を確認できるようにした。
現在の結論
2026年10月1日時点で確認できているのは、9月30日の却下の返信が修正後に反映されたこと、および関連する自動テストが合格していることである。この記録で確認したのは、OWNERが自分のGmailから同じGmailへ返信したこの1件の経路であり、別のメールアドレスやメールソフトから返信した場合の動作は、今回は実際の返信では確認していない。
根拠
2026-10-01に行った承認メールの返信処理の修正記録(3回分の変更内容と、それぞれの関連テスト全件合格の記録)、および同日の返信処理結果のログ(14時台に「本人と確認できない」、16時台に「送信済みフォルダとの照合で本人と確認して反映」と記録)によるJ-WORKS内部の実施記録。