全国から悲鳴が聞こえてきたので、というか私も悲鳴を上げた一人なので、備忘録としてメモしておきます。前回は Gmail のSHA-1対応の仕様変更で、ガラケーでGmailが利用できなくなったエントリーを書きましたが、今回はまたも Gmail の仕様が変わって、SMTPでのメール送信ができなくなったお話です。
Gmailには、Webインターフェースからのメール送信以外に、アプリケーションからSMTPでメールを送信することができます。
今回はおそらく、このページのGmail SMTP サーバーを利用するオプションの仕様が、こっそりひっそりと変更になった模様です。
何が起こったのか?
私の場合、問い合わせフォームの自動返信メールを、 Gmail のSMTPサーバー経由で送るようにしてたんですが、それが4月1日以降、問い合わせがない日が数日続いたことが、気付いたきっかけでした。もともと、1日1件お問い合わせがあるかないかという程度で、2~3日は問い合わせがないこともあったので、年度の変わり目だし、土日も挟んだし、こういうこともあるだろうと思ってのんびり構えてましたが、さすがに減りすぎだろうということで動作確認してみたところ、どうもメールが飛んでないっぽいと、気付きました。
Twitter を調べてみると、同様の悲鳴を少しですが見つけることができました。
phpのqdmail。gmailのsmtpでメール送信がいきなり今日から出来なくなった。gmail 仕様変更したのん?— oldguys (@oldguys15) 2016年3月30日
英語とかだともっと上がってましたので、むしろ思いのほか、日本語での悲鳴が少ないような気がします。これ、同様の事象に陥ってても、メールを送信する頻度がもっと少ないケースだと、気付いてないパターンがまだまだありそうですね…。https://t.co/qFMFR8mXFR 465にtelnetで弾かれる。詰んでる。。。だれか。。。— ネコの一手 (@neko6_tweet) 2016年4月8日
どうやって解決したのか?
幸いなことに、 Gmail ヘルプ フォーラム で、優秀なトップレベルユーザーの方々が解決してくれてました。
結論から言うと、SMTPに接続する際のホストの指定に、プロトコルも含めないとダメになったみたいです。なんでこんな地味な変更を…。
苦労したのは、このフォーラムにたどり着くところで、グーグル先生に「Gmail SMTP 送信できない」などのキーワードでお伺いを立てたんですが、それらのキーワードではなぜかこのフォーラムが上がってこず…。フォーラムの検索窓に、「SMTP」と入れて検索したら一発でした。もっとこのフォーラムの検索順位が優遇されるようにすればいいのに。
そして、トップレベルユーザーの皆さん、凄いですね。Gmail のヘルプフォーラムなんて、 今回見たいな割りと重めの質問から、正直しょうもない質問まで、毎日10件以上の質問が上がってくるのに、それをトップレベルユーザーに認定される、というモチベーションだけでボランティアで丁寧に質問に回答してくれていて、頭が下がります。いつもありがとうございます。
なんでそうなったのか?
コードの書き換えで対応できたので、結果としては、おそらく正しいと思うんですが、そのような仕様変更をしたという証拠がなかったので、もう少し調べてみたんですが、結局、Google からの事前アナウンスはなかった模様です。うーん、これはひどい。
見つかったのは、同じくGmail ヘルプ フォーラムに英語で似たような質問があがってました。
この最後の方に、さらっとこう書いてあります。
"Ok, I have now resolved this... Looks like a major change to how gmail processes HELO/EHLO requests was pushed through without adding any change notes. I contacted google apps support and they informed me about the change. "
Google翻訳の力を借りて、意訳すると、
"OK。解決したよ。Gmail のHELO/EHLOリクエストのプロセスに関する大きな変更が、ドキュメント類の変更なしに行われたようだね。私は Google Apps のサポートに連絡をとって、彼らがそのことについて教えてくれたよ。"
と書いてあるように見えます。
さすが Google さん。セキュリティ対策や迷惑メール対策のための仕様変更だとは思うのですが、ドキュメント類の変更や事前の通知なしに仕様を変えるとは、随分と思い切ったことするなぁ…。
まとめ
というわけで、Gmail の SMTP でのメール送信をアプリ経由で行ってる人は、場合によってはプログラムを書き換える必要があるので気をつけましょう、というお話でした。と言うかむしろ、Google のヘルプページにあるように、プリンタとかスキャナでのメール送信に結構な影響が出てるんじゃないかと心配になるところですが、まずは自分のところは解決して良かったです。
Gmail のユーザーは多いと思うので、同じことで困ってる人の参考になれば幸いです。