きっかけ
ある日普段やりとりの少ない人事部から1件の依頼。
「HP上のエントリーフォームから申し込んだ時の自動返信メールが届かなかったり、迷惑メールボックスに入ったりしてるみたいです。解決してもらえますか?」と。
やりとりをへ〜〜〜〜くらいで聞いてたら、なんと私が担当することに!!
そもそもWordPressもほっっっとんど触ったことないし、メール設定・・・??と思いながら調査〜解決したことの備忘録のために記事を作成しました。
私と同じ状況の人に少しでも役立ちますように・・・!
前提条件
環境は以下の通り。
- WordPress 5.2.5
- DNS → VALUE-DOMAIN
- サーバー → AWS Route53
- メール(独自ドメイン)管理 → Google workspace
各環境の設定状況の確認方法
-
WordPress
WPの管理画面>プラグイン>インストール済みプラグインの中に「WP Mail SMTP by WPForms」があるか検索する -
Google workspace(独自ドメインを使用中の方)
Google Admin Toolbox Check MXにアクセスし、使用しているドメインを入力しチェックを実行をクリックする
DKIM、DMARC、SPFの設定で警告が出た方は、私の状況と同じなので後続の設定が必要です。
手順① WP Mail SMTP by WPFormsのインストール
WPの管理画面>プラグイン>プラグインの追加でWP Mail SMTP by WPFormsを検索
検索結果の表示された「WP Mail SMTP by WPForms」の「今すぐインストール」をクリック>「有効化」をクリック
これでインストールは完了!
【注意】
有効化しているので設定途中でやめてしまうと自分が思っていない設定で登録される場合があるので注意してください!
私は途中で違う業務をしている間にメールが届かなくなってました・・・汗
手順② WP Mail SMTP by WPFormsの設定
有効化をクリックしたら、そのままWP Mail SMTP by WPFormsの設定画面が開く。
「Let's Get Started!」をクリック
今回の場合は自動返信メールは独自ドメインのGoogle workspaceのグループメールのため、
「Google/Gmail」を選択し、「Save & Continue」をクリック。通常のGmailやGoogle workspaceで設定した独自ドメインの個人メールでも同様。
警告が出てくるけど、「I Understand, Continue」をクリックする
(※Gmailは大量のメッセージ送信には向いていません的な内容)
メーラーの設定のため、クライアントIDとクライアントシークレットはGoogle APIの設定が必要。
Authorized Redirect URLはGmail APIの設定でも使用する為控えておく。
一旦、Google Cloud Platformへログインする
※設定ずみの方は飛ばしてください。
「新しいプロジェクト」をクリック
各項目に任意の値を入力/選択し、「作成」をクリックする
左上に作成したプロジェクトが出ていればOK。
APIライブラリが開かれてるので、「Gmail」で検索。
検索結果に出てきた「Gmail API」をクリック>「有効にする」をクリック
自動的に画面が切り替わるので、右上の「認証情報を作成」をクリック
色々項目はありますが、必要な項目は以下の通り。
- 使用するAPI:Gmail API
- アクセスするデータの種類:ユーザーデータ
- アプリケーションの種類:ウェブアプリケーション
- 承認済みのJavaScript生成元:WordPressサイトのドメイン
- 承認済みのリダイレクトURL:WP Mail SMTP by WPFormsの設定ウィザードで出てきたリダイレクト先(Authorized Redirect URL)
作成出来たら、「認証情報」タブ>OAuth 2.0 クライアント IDの作成したアプリケーションのリンクをクリックすると、その中でクライアントID、クライアントシークレットどちらも確認できるので控えてWP Mail SMTP by WPFormsの設定画面へ戻ります。
「Connect to Google」をクリック
AuthorizationはGoogleの認証なので、自分や管理用アカウント等メールアドレスとパスワードがあるもので認証を通してください。グループメールで返信する場合、アカウントではないのでここに使用するメールアドレスを入力する必要はありません。(まぁ、アカウントではないのでパスワード何・・・?ってなると思いますが、、、)
From Name:メールの送信元に出す名前
From Email:送信元のメールアドレス
ここのメールアドレスをグループメールに設定するためには、認証を通したアカウントのGmailのアカウント設定でグループメールのメールドレスを追加する必要があります。
追加しないと選択肢が認証通したメアドだけしか出てこない・・・。
認証を通したアカウントのGmail>右上の歯車マーク>「すべての設定を表示」をクリック>「アカウント」タブ>「他のメールアドレスを追加」をクリックして、追加してください。
そうすると、From Emailの選択肢に追加されます。
残りは特にデフォルトから変更せずに、進んでいくとテストメールが送られます。
成功すると次のような画面になるので、この画面が出た方は終了です。
DKIM、DMARC、SPFの設定で警告が出た方は、ここでもエラー画面が出るのでまだ設定が続きます。
手順③DKIM設定
管理者アカウントでGoogle workspaceへログインする>右上の「管理コンソール」をクリック>アプリをクリック
「メールの認証」をクリック>「新しいレコードの生成」をクリックする
特に何も変更せず、「生成」をクリックする。
DKIMレコードが生成されるので、この内容をValueDomainとRounte53に登録する
Value Domainにログイン>ドメイン>ドメインの設定操作(登録済みドメイン一覧)>対象のドメインの「DNS/URL」をクリックする
この画面のテキストエリア内にDKIMレコードを追加>ちょっと下にスクロールして「保存」をクリックする
追加する内容は下記通り。
txt google._domainkey v=DKIM1; k=rsa; p=[自分のDKIMレコードの値]
続いてAWSへログイン>Route 53>対象のドメインを選択>「レコードを作成」をクリック
下記内容を入れて、「レコードを作成」をクリックする
レコード名:google._domainkey
レコードタイプ:TXT
値:"v=DKIM1; k=rsa;"" p=[自分のDKIMレコードの値]"
※値はダブルクォーテーションで囲んでください。文字上限エラーが出る場合は複数個のダブルクォーテーションで文字列を分割して登録してください。
手順④DMARKレコード追加
続いて同じくRoute 53>対象のドメインを選択>「レコードを作成」をクリック
下記内容を入れて、「レコードを作成」をクリックする
レコード名:_dmarc
レコードタイプ:TXT
値:"v=DMARC1; p=none; rua=mailto:[メールアドレス]"
※値はダブルクォーテーションで囲んでください。文字上限エラーが出る場合は複数個のダブルクォーテーションで文字列を分割して登録してください。
手順⑤SPF設定
SPFレコードはレコード名なしのTXTタイプで登録をするので既に用意されている場合があります。
自分のRoute 53の対象ドメイン内でTXTレコードがないか確認して作業してください。
【新規の場合】
同じくRoute 53>対象のドメインを選択>「レコードを作成」をクリック
下記内容を入れて、「レコードを作成」をクリックする
レコード名:(なし)
レコードタイプ:TXT
値:"v=spf1 include:_spf.google.com ~all"
【既存でレコードがある場合】
Route 53>対象のドメインを選択>対象のレコードを選択し、開かれるレコードの詳細内の「レコードを編集」をクリックする
値の中身を確認し、自分の対象レコードの状況に応じて対応を分けてください。
【v=spf1・・・から始まるレコードがない場合】
値の中で一度改行をし、下記内容を追加し「保存」をクリックする
値:"v=spf1 include:_spf.google.com ~all"
【v=spf1・・・から始まるレコードがある場合】
既にあるv=spf1・・・から始まるレコードに下記内容を追加し「保存」をクリックする
値:"v=spf1 include:[既存であるレコード内容] include:_spf.google.com ~all"
これでDKIM、DMARK、SPFの設定は終了です。
もう一度WP Mail SMTP by WPFormsの設定画面へ戻り、エラー内容が解消されているか確認してください!
この画面だったら成功です!