メールフォームからメールが届かない
あるWEBサイトがありました。そのサイトには問い合わせフォームがついています。
問い合わせフォームはGmailを経由してメール送信する仕組みになっているはず、とのこと。
ただ、メールが届かない、とのこと...
エラーログ:Auth failed: 535 5.7.8 not accepted
サーバーのエラーログを確認したところ...
AH01215: Auth failed: 535 5.7.8 Username and Password not accepted. Learn more at: 〜
認証エラーが発生していますね...
GmailのSMTP設定を確認
Gmailの要件はこちら:他のメール プラットフォームで Gmail のメールをチェックする
クライアントからGoogleアカウント情報を共有してもらってチェック。
でも、WEBサイト側の設定はちゃんとできてるみたい...
「安全性の低いアプリ」をON
色々と「Gmailで送信できない」でググってると
Googleアカウントの管理 > セキュリティ > 安全性の低いアプリ をONにしてみて
という記事が散見。
「あぁ...そんなのあったなぁ...」と、その通りにしようとすると...
この設定は使用できません。
ええええっっっっっっ!?
とりあえず詳細をクリック
アカウントを安全に保つため、2022 年 5 月 30 日より、Google は、ユーザー名とパスワードのみで Google アカウントにログインするサードパーティ製のアプリとデバイスについてサポートを終了いたします。
(安全性の低いアプリと Google アカウントより)
ええええっっっっっっ!?
安全性の低いアプリは、もう使えないんですって...知らなかった...
何とかならんもんかと、さらに色々と調べると...
「アプリ パスワードでログイン」してね
アプリ パスワードとは、安全性の低いアプリやデバイスに Google アカウントへのアクセスを許可する 16 桁のパスコードです。アプリ パスワードは 2 段階認証プロセスを有効にしているアカウントでのみ使用できます。
(アプリ パスワードでログインするより)
どうやら(推奨はしないけど)アプリパスワードを使うと、安全性の低いアプリONに近いことができるみたい
ただし、注意点は「アプリ パスワードは 2 段階認証プロセスを有効にしているアカウントでのみ使用できます」というところ。クライアントのGoogleアカウントへ2段階認証を勝手に設定するわけにはいかないので、とりあえずプライベートなGoogleアカウントで設定してみました
アプリ パスワード の設定のながれ
2 段階認証プロセス の有効化
Googleアカウントの管理 > セキュリティ > 2段階認証プロセス から設定してください。
ヘルプ:2 段階認証プロセスを有効にする
アプリパスワードの設定
(2 段階認証プロセスが有効な状態で)
Googleアカウントの管理 > セキュリティ > アプリパスワード をクリック
(2 段階認証プロセスが無効な場合、アプリパスワードの項目は表示されません)
プルダウンのアプリを選択では「メール」を、デバイスを選択では「その他(名前を入力)」を選択。
すると、名前の入力が求められます。なんでも結構です。覚えやすい名前で...
生成するとパスワードが表示されます。
パスワードの表示は、この1回こっきりです。確実にコピーしておきましょう。
もし、表示を閉じてしまいパスワードが分からなくなったら、作ったパスワードは破棄して、新たに作り直しです。
アプリパスワードの使い方
本件は、WEBサイトの問い合わせフォームで、メール送信にGmailを使いたい、という内容です。
その場合は...
- | 入力内容 |
---|---|
送信メール(SMTP)サーバー | smtp.gmail.com |
ポート | 587 |
アカウント名 | 〜@gmail.com |
パスワード | アプリパスワード |
上記の内容で設定してください。
つまり、パスワード
項目へは、アプリパスワードで生成したパスワードを入力する、ということです。
これで、WEBフォームからGmailでSMTP送信して、クライアントがちゃんとメール受信できるようになりました。