Contact Form 7でメール送信できないGsuiteユーザーのためのトラブル解決策

こんにちは。RMCオフィスの松本です。

 

悩む人
「最近、ホームページからの問合せが来なくなった。アクセス数がそんなに激減したわけでもないのに何故だろう・・・?」

 

毎日、たくさんの問合せメールが届くサイト管理者なら、2~3日問い合わせが来なくなると何かトラブルに違いないとピンとくるでしょう。

ですが、たまに問い合わせ来る程度という場合、しばらく問い合わせが入らなくてもすぐに気づけないかもしれません。

 

メールトラブルの原因は様々ですが、もしあなたのサイトが以下の全てに該当している場合はこの記事が解決の糸口になるかもしれません。

  • WEBサイトをWordpressで制作している
  • お問い合わせフォームにContactForm7を使用している
  • G Suiteを使用している
  • WEBサーバーをレンタルサーバーで、メールサーバーをGmailで運用している
  • Contact Form 7からの問い合わせフォームが届かない

 

Gmailは年々セキュリティが厳しくなり、サードパーティーからのメールの送受信をはじく傾向があります。

今回は、そんな方に向けに対象方法について解説します。

 

プラグイン「WP Mail SMTP」の導入

WP Mail SMTP」というプラグインを使用します。

 

「WP Mail SMTP」は、指定した送信メールサーバー(SMTP)からメールを送信することができるプラグインです。アップグレード版があるようですが、無料版のままでOKです。

 

まずは「WP Mail SMTP」をインストールします。インストールが完了したら、いよいよ設定です。

 

「WP Mail SMTP」の設定(前半)

 

WP Mail SMTPのインストールが完了したら、さっそく設定画面を開きます。

 

 

送信元アドレス

お問い合わせフォームの送信元になるメールアドレスを設定します。

とりあえず、自分が使っているメールアドレスを設定してOKです。

 

送信者名

任意で好きな名前を入れてOKです。

ホームページからの問合せであることがわかるような名前にしておくと良いでしょう。

 

返信先

特にチェックせず、スルーして結構です。

メーラー

Gmailを選択します。

 

ここまで設定したら、いったん保存して次の設定に移ります。

 

「Google Cloud Platform」の設定

この記事を読んでいる方は、WEBサイトをレンタルサーバーで運営し、メールについてはGsuiteを契約してGmailを使っているという方が対象となります。

 

Gmailは年々セキュリティが厳しくなり、サードパーティーからのメールの送受信をはじく傾向があります。

上記のメーラーで、「Other SMTP」を選択して、GmailのSMTPサーバーやポート番号を指定することで、一応メール送信することはできるようですが、いつメールが弾かれるようになるかもしれません。

さらにメール送信というアクションを起こすのはサイト訪問者なので、メールが弾かれていることにすら気づかない可能性があります。

最悪、「最近、問合せのメールがこないなぁ」と思っていたらメールが全て弾かれていたという状態で、問合せをした人にエラーメッセージも届かないため、問合せメールを全て無視してるのと同じことになります。

 

そこで、Gmailからのメール送信を確実なものにするために「Google Cloud Platform」(以下、GCP)の設定をいじります。

 

Gmail APIを有効にする

まず、GCPのホーム画面を開き、「APIとサービス」をたどっていきます。

 

 

 

APIライブラリを「Gmail」で検索すると、GmailAPIが見つかります。

 

 

ここで「管理」をクリックします
※初めての方は「有効にする」というボタンになっていますので、「有効にする」をクリックします。

 

Gmail APIの認証情報を新規作成する

Gmail APIを使うために、まず「認証情報の作成」を行います。

 

 

 

認証情報を作成すると、「プロジェクトへの認証情報の追加」という画面が開きます。

 


使用するAPI
「Gmail API」を選択

APIを呼び出す場所
ウェブブラウザ(JavaScript)を選択

アクセスするデータの種類
ユーザーデータを選択

 

 

 

必要事項を入力したら、「必要な認証情報」をクリックします。

クリックすると、「OAuth同意画面の設定」というウインドウが立ち上がりますので、「同意画面を設定」をクリックします。

 

「OAuthって何?」と思うかもしれませんが、気にせず先に進みます。

参考 OAuth(Wikipedia)

 

OAuth同意画面の設定

「同意画面を設定」をクリックすると以下の画面に遷移します。

 

 

アプリケーションの種類
Gsuiteのメンバーに限定する場合、「内部」を選択します。Gsuiteメンバー以外に権限付与する場合は「公開」を選択してください。

 

アプリケーション名
任意ですが、何の設定をしていたのか後で見てわかるような名前を入力すると良いでしょう。ここでは、「WP_Mail_SMTP」と入力しています。

 

その他の設定はスルーしてOKですので、「保存」をクリックします。

 

OAuthクライアントIDの作成

認証情報 → +認証情報を作成 → OAuthクライアントIDの順にクリックして、OAuthクライアントIDを作成します。

 

つづいて認証情報を設定します。

アプリケーションの種類
「ウェブアプリケーション」を選択

 

設定項目が展開されます。

 

名前
任意の名称で結構です。

 

承認済みのJacaScriptの生成元
「URLを追加」をクリック

自分のウェブサイトのURLを入力します。

承認済みのリダイレクトURL
「URLを追加」をクリック

 

ここで、先ほど途中まで設定した「WP Mail SMTP」の設定画面に戻り、「Authorized redirect URI」を「承認済みのリダイレクトURL」にコピペします。

 

すべて入力できたら、「OAuthクライアントIDを作成」をクリックします。

すると、下のようなウインドウがポップアップされ、クライアントIDクライアントシークレットが無事作成できたことが確認できます。

このクライアントIDクライアントシークレットを「WP Mail SMTP」の設定画面に設定すればようやく全ての設定が完了です。

 

 

なお、上のポップアップウインドウでクライアントIDクライアントシークレットをコピペする前にウインドウを閉じてしまった場合は、以下の要領でいつでも確認することができます。

認証情報をクリックして、認証情報の管理画面を開く。続いて、先ほど作成したOAuthクライアントIDをクリック。

 

 

該当するクライアントIDをクリックすると、

 

 

画面右側にクライアントIDクライアントシークレットが表示されています。

 

「WP Mail SMTP」の設定(後半)

またまた「WP Mail SMTP」の設定画面に戻ります。

 

Client ID
先ほどGCPで生成したOAuthクライアントIDのクライアントIDをコピペします。

 

Client Secret
先ほどGCPで生成したOAuthクライアントIDのクライアントシークレットをコピペします。

 

「設定を保存」ボタンをクリックすると、以下のように「Autorization」の欄にボタンが表示されるので、このボタンをクリックします。

 

すると、「WP Mail SMTP」からGoogleアカウントへリクエストが送られ、以下のようなウインドウがポップアップされます。

 

「許可」をクリックして、「WP Mail SMTP」に以下のような表示が出たら成功です。

 

お問い合わせフォームからメールが届くかどうか確認

 

-Contact Form 7, IT, Wordpress
-, , ,