コンタクトフォームからメールが送れなくなってしまったので「WP Mail SMTP」を使ってGmail経由で送るようにしてみた

WordPress5.0来ましたね・・・エディタ、変わりましね。
新しいエディタを試し試し今回の記事書いていこうかと思っています。
こんにちは、えんぞーです。

目次

お問い合わせからのメールが届かなくなった

随分と経ってしまうのですが、このサイトを構築しているサーバの環境をNginx+Php-FPMからLitespeedWebServer+Nginxの構成にしました。

SSL対応に伴って手軽(?)にHTTP/2に対応したかったですし。

ただ、この構成が悪いのかサーバ側の問題なのか、お問い合わせフォームからのメールが届かなくなってしまいまして・・・。

メールの送信エラーというわけでは無い様で、コンタクトフォームは正常に動きます。

ContactForm上では正常に処理

しかし、こちらに届かない。
送信ポートの問題なのか・・・しかし今までは同じサーバで送信されていたし・・・とか考えていたらドツボに嵌りそうだったのでひとまずは「ContactFormDB」と使用してDBにメールのログが残るようにしていました。

そんなこんなでごまかしていたのですが、やはり毎回管理画面でメール来ていたのかをチェックするのが大変だし数日とか週単位で見なかったりすることも多々あり・・・わざわざ問い合わせとか送ってきてくれる人に申し訳ないので今回「WP Mail SMTP」を使用してGmail経由でメール送るように設定した次第です。
(メールしたけど返事来てないぞっていう人いましたらお手数ですが再度コンタクトフォームからお願いします・・・すいません・・・。

「WP Mail SMTP」をインストール、設定する

プラグイン入れて有効にしてSMTPサーバの設定でもすればする使えるだろうと簡単に考えていましたがGmailのAPI使ったりする必要あったので忘備録として残しておきます。

プラグインのインストール

まずはインストールしないと始まらないので「WP Mail SMTP」で検索かけてインストールします。

なんか虚ろな目つきの鳥のアイコンw

インストールしたら有効にして設定を開きます。
左メニューの「設定」→「WP Mail SMTP」で設定画面にいけます。

まずはGmailの選択だけ

設定画面に入って「送信元アドレス」の設定やら「送信者名」の設定やらありますが、それらを確認してメーラーの設定で「Gmail」を選択します。

チェックボックスの「Force From Email/Name」っていうのは他のプラグインでもこの設定を使用するようにするチェックボックスらしいので特に必要ない場合はそのままチェックつけないままで良いでしょう。

GmailのApiを使用する設定を行う

なんだかんだでこれが面倒といえば面倒なんですよね・・・。
まず「Google Cloud Platform」に行きましょう。

Googleにログインしていない場合はこれ出てきますのでログインします。

目的のGmailアカウントでログインすると、プロジェクトの選択画面が出てきます。

利用規約に同意するチェックにチェックを入れて「同意して続行」ボタンを押します。
※Google Cloudからお知らせメールが欲しければそっちも「はい」を選択。

しばらくするとプロジェクトが作成されてAPIは有効になっていますと表示されますので「認証情報に進む」ボタンを押して次に進みましょう。

認証情報画面に来たら上記の画像の様に設定します。

  • ①「Gmail API」
  • ②ウェブサーバー
  • ③ユーザーデータ

設定したら「必要な認証情報」ボタンを押します。

「プロジェクトへの認証情報の追加」画面でも上記の画像の様に入力します。

  • ①適当に自分がわかりやすい名前を入れておきましょう。
  • ②自分サイトのURLを入力
  • ③「WP Mail SMTP」プラグインの設定画面に書いてある値を入力

③の「WP Mail SMTP」プラグインの設定画面にある値というのは下記になります。

このリダイレクトURIが③に入ります

全て入力したら「OAuthクライアントIDを作成」ボタンを押します。

この画面では特に問題ないかと思います。
自分のメアドが表示されているかと思いますので確認して「ユーザーに表示するサービス名」という部分も適当になんか入れて「次へ」ボタンを押します。

この画面で設定は完了してClientIDが表示されます。
が、「後で」リンクをクリックして認証情報に飛びましょう。

ここで作成した認証情報の編集画面に飛びます。
鉛筆ボタンをクリックしてください。

この画面でクライントIDとクライアントシークレットを確認できますので控えておきましょう。
Google側での作業はこれで完了です。

「WP Mail SMTP」での設定

「WP Mail SMTP」のプラグイン設定画面に戻って今取得したクライアントIDとクライアントシークレットを設定します。

  • ①先程取得したクライアントIDを入力
  • ②先程取得したクライントシークレットを入力
  • ③最初から入っている値のままでOK

入力が完了したら「Save Settings」で設定を保存。

保存が完了すると下記のようなボタンが表示されているので押します。

Googleアカウントの許可を取得するリンクになります

これで「許可」してあげれば設定は完了です。

後は「WP Mail SMTP」の「Email Test」からメールが送信できるか確認してみましょう。

「Send To」に宛先のメアド入れて「Send Email」で送信!

宛先にしたメアドにこんな感じのメールが届いていれば無事に設定は完了しています。

それと念のためにコンタクトフォームからもテストしてみてメール届いていればOKですね。

Googleアカウントへのアクセス許可時にリダイレクト先についてのエラーになる場合

ドメインの所有権を確認できていない場合はリダイレクト先のURL等の設定が行えていない可能性があるのでドメインの所有権を確認する必要があります。


「ドメインを追加」からドメインを追加して所有権を確認してください。
所有権の確認についてはここでは詳しく説明しませんが、DNSのTXTレコードに発行されたコードを追加する方法となります。

とりとめのないまとめ

さて、これで問い合わせフォームからメールが届く様になりました。

特に難しい事はないのですが、手順が面倒なので一応流れだけメモを残す感じでしたが如何でしたでしょうか。

それと、Wordpress5.0からのブロックエディタ。

こうやって使っている感じ、今の所は慣れないせいもあって四苦八苦しているのですが慣れれば楽かも知れません。

なんだかんだ行ってもブロック単位でクラシックエディタも使えますし、思ったよりはいい感じでしたw

 

関連記事

コメントを残す