【2019年最新版】WP Mail SMTPをGmailで設定するには2段階認証が必要だった!
こんにちは!ゆーるるです。
このWordPressのサーバーは、Googleが提供しているGCEを使っています。
関連記事>>>「KUSANAGI Runs on Docker使ってWordPress構築した話」
初めて自分でサーバーの用意からインストールまで行ったがゆえにすっかり忘れてました。
メールサーバーの設定。
先日、みんチャレで一緒に頑張っている方がコメントを書いてくれたのですが、その通知が届かないことで自分のWordPressにメールサーバーが存在していないことに気づけました!本当にありがとうございます(´;ω;`)
※WordPressの設定に原因がある場合と、メールサーバー側にエラーがある場合がありますが、WordPressのログイン画面からパスワード再設定メールを送る方法で、メールサーバーエラーを確認しました。
ということで、WordPressのプラグイン「WP Mail SMTP」を使って設定してみたのですが、なかなか大変だったので、つまづきポイントと私が設定したやり方をまとめてみました。
- GCEではメールが送信できない
- WP Mail SMTPでかんたん設定♪と思いきや400エラー画面が出てくる
- Googleのセキュリティが強まったことにより、2段階認証が壁になっていた??
- 再び「WP Mail SMTP」の設定画面へ
- テストメールを送る
- まとめ
GCEではメールが送信できない
ちなみに、GCEにはメールを送信する機能がないそうです。
Compute Engine では、次のポート / プロトコルを使用したインターネットと仮想マシン間のトラフィックがすべてブロックまたは制限されます。また、このようなポートを通じたトラフィックの宛先が外部の IP アドレス(負荷分散されているアドレスも含まれます)になっている場合は、2 台の仮想マシン間のトラフィックもブロックまたは制限されます。これらのポートは完全にブロックされるため、ファイアウォール ルールを使用して開くことはできません。
- ポート 25 を宛先とする送信トラフィック(SMTP)はすべてブロックされます。
- ポート 465 または 587 を宛先とするほとんどのトラフィック(SMTP over SSL)がブロックされます。ただし、既知の Google IP アドレスを除きます。
引用元:https://cloud.google.com/compute/docs/networks-and-firewalls?hl=ja
幸い、WPに便利なメールサーバー設定プラグイン「WP Mail SMTP」があったので、こちらで設定をすることにしました。
※もともと、WordPress用のGmailアカウントを作って運用していたのでそれを使っています。 専用のアドレスを持っていない方は、この機会に専用のGmailアカウント(Gmailアドレス)を作成しても良いかもしれません。
WP Mail SMTPでかんたん設定♪と思いきや400エラー画面が出てくる
デフォルトでGoogleと連携する選択肢があったので、わーい簡単(⌒▽⌒)と思いきやこれが罠。
見よう見真似で設定して、Googleアカウントと連携させるボタンを押すも、
エラー!
Error: redirect_uri_mismatch(タブには「Error 400 (OAuth2 Error)!!1」と出てました)
です。
リダイレクトの設定は何度見返しても正しいので、さっぱり原因がわからず。
Googleのセキュリティが強まったことにより、2段階認証が壁になっていた??
いろいろ調べた結果、ある時点(2段階認証が取り入れられた時点からかな?)からGoogleのセキュリティが強まったことによって、普通の認証が通らなくなったそうです。
結論、
- 2段階認証を設定する
- アプリ用パスワードを発行する
この2点をやればオッケーなことがわかりました。
参考にさせていただいた記事>>> http://blog.saboh.net/smtpgmailcom/#smtpgmailcom
2段階認証を設定する
まずは2段階認証を設定します。
1.https://myaccount.google.com/にアクセス。 2.左メニューの「セキュリティ」をクリック 3.「2段階認証プロセス」をクリック
4.「開始」をクリック
5.いつものパスワードを入力
6.Googleアカウントに設定済みの電話番号が表示されるので、問題なければそのままテキストメッセージか音声か好きな方を選んで進みます。
7.受け取ったテキストコードを入力すればこの画面になるので、「オンにする」を選択でオンになります。
アプリパスワードを発行する
次に、アプリパスワードを発行します。
1.先ほどの「2段階認証」の下に「アプリパスワード」が表示されるようになったので、それをクリック
2.いつものパスワードを入力
3.「アプリを選択」から「その他」を選んで、適当な名前をつける(私は「WP Mail」にしました。)
4.「生成」をクリック
5.パスワードが表示されるので、コピペかメモする ※再表示ができませんが、もし忘れてしまったら再生成で問題ないです。
(番外編)普段使いのメール認証の再設定が必要!
2段階認証をオンにすることにより、このアドレスを普段から使っている場合はメール受信ができなくなるので、再設定が必要です。
iPhoneの場合:
- 「設定」> 「パスワードとアカウント」
- 該当のアドレスをタップ
- アドレスが表示されている部分をタップ
- 再ログインが求められるので、いつものパスワード→2段階認証コードを入力で完了。
再び「WP Mail SMTP」の設定画面へ
WordPressの管理画面(WP Mail SMTPの設定画面:左メニュー「設定」>「WP Mail SMTP」)に戻ります。
Mail設定
送信元アドレスは空でも支障ありませんでした。
送信者名はブログ名にしたら自分がわかりやすかったので、ブログ名を入れています。
「Force From Email」のチェックを入れると、他のプラグインの設定を無視してここの設定が優先されるというものですが、今の所必要性がなかったので空欄にしました。
Other SMTPからGmail認証を設定!
「Other SMTP」に情報を入れていきます。
- SMTPホスト:smtp.gmail.com
- 暗号化:SSL
- SMTPポート:465(暗号化をSSLにすると自動で入ります)
- Auto TLS:ONが推奨なのでONに
- 認証:ON(ONにすると、先ほど生成したパスワードを入れる項目が出てきます)
- SMTP Username:2段階認証をONにしたアカウントのアドレスを入れる)
- SMTP Password:先ほどGoogleの画面で発行したアプリパスワードを入れる
最後に、「Save Settings」をクリックして完了です。
テストメールを送る
無事に保存できると、サクセスメッセージが出ます。
本当にメールが届くようになったのか、「Email Test」からすぐに確認ができます。
※アドレスはなんでもいいですが、面倒なのでSMTP設定に使ったのと同じメールにしています。
※HTMLはONでもOFFでも自由に。
無事に届きました〜!!
設定がうまくいっていると、こんなメールが届きます。
コメント通知も無事に受信
念の為、コメントがついたときに通知が届くかもテスト。
ちゃんと届きました!!!これがやりたかったから嬉しい!!
まとめ
以上、「WP Mail SMTP」でGmailを使う設定についてまとめてみました。
やってみれば簡単でしたが、Google連携には手こずって数日使ってしまいました(>_<)
これで、無事に通知を受け取れるようになったのでよかったです!
今回サーバーの準備を自分でやったので、完全にうっかりしていました( ̄▽ ̄;)
サイトを公開する上で、メールサーバーの設定は忘れずに対応しないといけないなということを改めて学べて、良い経験になりました〜。
お問い合わせフォームをまだ設置してなかったので、そっちもやりたいなーと思います!