WordPress備忘録 問い合わせフォーム、メール送信

昨日の投稿問い合わせフォームが動作してない!?って事で1日かけて改修しました。

問い合わせフォーム直すだけだったら1時間程度で終わる内容なのですが、

  • 問い合わせフォームが設定した宛先に送信されない
  • ついでに独自ドメインのメールの信頼性をあげちゃおう

って事もやってたので約1日。

問い合わせフォームの修正

元々は「MW WP Form」ってプラグインでフォームを作っていましたが、サブディレクトリのサイトで使っているテーマ「Xeory Extensions」のトップページの問い合わせに設置できないのを受けてプラグインを変更。

「Contact Form 7」にしています。

Contact Form 7もMW WP Formも利用者が多いプラグインなので、設定は有志の方のページで完了。

受付しましたよ。メールを同時に送信するようにも設定しました。

管理者宛のメールが違う所に届く

問い合わせフォームに登録されたら、誰(メールアドレス)にメールを送るのかをContact Form 7で設定。Mail設定のToにアドレスを指定。

何故か、独自ドメイン宛に設定すると別アドレス(hotmailアドレス)にメールが届く。

???

gmailアドレスとか、hotmailの別アドレスをToに設定すると、ちゃんとそこに届くのに、
独自ドメイン(sugiyamatasuya.com)アドレスを設定するとhotmailアドレスにメールが・・・

もう意味がわからない。

WPのメール送信を差し替える

今まではWP標準のメール送信でやってましたが、一部環境では不都合が出るような記事を見つけました。

WPのメール送信も外部のSMTPサーバーを使って送信するように設定します。

  • 独自ドメインアドレス1で送信する
  • 独自ドメインのメールはZoho Mailで作成
  • SMTPはzohoのsmtpを利用
  • smtpはユーザー認証を行って利用する

今回使ったプラグインはこちら「WP Mail SMTP by WPForms」

プラグインをインストールして、有効化。

プラグインの管理画面でSMTPの設定を入力する。

PCでメーラー設定している人ならばこの辺りは慣れたもの。

唯一注意しないといけないのが、認証パスワード。

zoho mailを2段階認証にしているので、zoho の管理画面でアプリ用のパスワードを発行しなければいけない。

設定を終えて、テスト送信も良好。

フォームからの送信も良好

さて、後は問い合わせフォームにお試しで入れてみて、どんな所にも送信されるかテストですね。

・・・

OK!

WPでフォーム作ったけど、メールの送信が上手くいかない場合はSMTP送信を導入してみるとよさそうです!

ついでに独自ドメインの信頼性をUP

WPフォームから色々なアドレスに送信する事ができました。

がメールが送れたからと言って見てもらえるとは限らない。

その一因が迷惑メールとしてフィルタリングされちゃう事。

と言う事で、独自ドメインからのメールの信頼性を上げる設定をします。

  • SPF
  • DKIM
  • DMARC

なりすましによるメール送信を防ぐための設定のようです。
「確かにこのドメインから送られたメールです」と証明することで、迷惑メールとしてフィルタリングされるのを回避するんですね。

SPF

Sender Policy Frameworkの略だそうです。

まずはメール送信を管理しているzoho mailの管理者画面へ行き、

「メールの管理」-「メール認証」-「SPF」

ここに表示されているTXTの値”v=spf1 include:zoho.com ~all”をDNS管理の設定値に追加する。

タイプは”TXT”、値はさっきの値”v=spf1 include:zoho.com ~all”

追加登録してSPF設定は完了。

DKIM

DomainKeys Identified Mailの略だそうです。

正規のドメインから送信されたメールであることを、秘密鍵と公開鍵使って検証する仕組み。

これもまずは、zoho mailの管理画面から

「メールの管理」-「メール認証」-「DKIM」

ドメインリストが表示されると思うので、その横の鉛筆マーク(編集)をクリック

“セレクターの追加”をクリックして、任意のセレクター名を入力します。

すると

<セレクター名>._domainkey.<ドメイン> と言うホスト名と

v=DKIM1~~ と言うTXT値が表示されます。

この2つの値をDNS管理のレコードに追加します。

タイプは”TXT”

レコード名に “<セレクター名>._domainkey” までを入力

値に”v=DKIM1~~”の全ての文字を設定します。

認証と有効化

DKIMはDNSにレコード登録だけでは終われないようで、レコード登録が終わった数分後にzohoの管理画面でもう一作業。

※ここまでの手順でzohoの管理画面を閉じていなければ、セレクターのTXT値が表示されている画面だと思います。

セレクター値の下に[認証]というボタンがあるので、それをクリック。

セレクター一覧に戻って、認証したセレクターの☆マークをクリックしてデフォルトセレクターに設定する。

DKIM設定完了。

DMARC

SPFとDKIMが設定できたら最後はDMARCレコード設定です。

Domain-based Message Authentication, Reporting & Conformanceの略だそうです。

SPFとDKIMを使って検証、検証NGの取り扱いを設定するもの?らしい。

不正ななりすましメールがあった時にレポートを出させるとか、色々設定できるみたいです。

今回はDNSレコードに

名称 “_dmarc”

タイプ “TXT”

値” ”v=DMARC1; p=none”

だけ設定しました。

p=none で検証NGの場合、ドメイン保持者側は振る舞いを決めずメール受信サーバー側に委ねる。様です。

来訪者とのコミュニケーションツールを整備完了?

問い合わせフォームから始まり、独自ドメインメールの信頼性UPまで進めてみました。

何かヒントになったり、問題解決に役に立てば幸いです。

DNS管理に登録する

SPFとかDKIMの設定。振り返って書くとスムーズに進んだ様に見えるけど、色々失敗しました。

その内の一つがTXTの値を登録した箇所。

参考にしたサイトが「ドメイン管理の会社」って書いてあったので、ドメイン取得で利用しているムームードメインの管理画面で設定した。

何回やっても反映されてこない。理由は簡単でDNSは別会社使っていたので。

そこでDNS管理会社の管理画面へ行って設定したら、ポンポンっと進めました。

コメント