フリーランスエンジニア

wordpress contact form 7動かなくなってから復旧までの流れ

  1. HOME >
  2. フリーランスエンジニア >

wordpress contact form 7動かなくなってから復旧までの流れ

概要

WordPressで問い合わせフォームを設置していてしばらく経って試してみたら送信できなかったので原因と対応策を載せます。

もう修正したのでフォームからメールの問い合わせできるようになってます。

突然、Contact Form 7がメッセージ送れない

以前、こんなツイートをしました。

そういえば、たまにきていたお問い合わせが最近ないことに気づきフォームを確認してみたらなんとエラーで送信できないことが判明しました。

かなりショックでした。

Contact Form 7でメールが送れなくなった理由

このWordPressのブログを動かしているサーバーはGMOクラウドが運営しているVPSサーバーでLinuxをRoot権限という何でもできる権限を持つサーバを契約しています。
そのサーバーに別プログラムで「PHP Laravel6系」と「Ruby on rails6系 on Docker」、「Go言語1.13 on Docker」ほかにも様々なプログラミングを動かしており、それぞれ問合せフォームを作っていました。
セキュリティの問題からメールサーバーの設定を強固にするため以下の設定をしていました。

今までのセキュリティ

対策 説明
SPFスパム防御 Sender Policy Frameworkの略で電子メールの送受信する際、送信元のドメインが詐称されていないかを検証する送信ドメイン認証方式です。
アンチウィルス メールを送受信する際にサーバー側でウィルスに感染しているかどうか確認します。

これだけではGoogleのGmail宛にメールを送ると迷惑メールになったので以下の設定を追加しました。

追加したセキュリティ対策

対策 説明
DKIMスパム防御 DomainKeys Identified Mailの略でメッセージに紐付けられたドメイン名の同一性を検証するに用いられる手法です
DMARC Domain-based Message Authentication, Reporting and Conformanceの略でSPF と DKIM の機能を拡張するテクノロジーです。DMARC ポリシーは、受信側で DKIM および SPF チェックの結果に応じてメールメッセージをどのように処理すべきかを定義します。

そうしたら動かなくなっていました。

詳しい設定方法は今回は省きます。

セキュリティを強化したらメールが送れない?

なぜ、セキュリティを強化したらメールが送れなくなったのかというと今までは認証を入れてなくてもSMTPで送れていました。

スパムに踏み台にされる理由は認証がなくてもメールを送れていたわけです。
今回からはしっかりと認証を入れるようにしたので送信できなくなりました。

WordPressでメール送信できるようにするための対策

WordPressでメール送信の認証させる必要がありますそのためにはこのプラグインが必要になります。

「WP Mail SMTP」のプラグインはSMTPの設定を簡単にすることができるプラグインです。
そこでメールの認証作業をする(問い合わせきたときに返信する用のメールアドレスのIDとパスワードを入れて認証)

さらに追加のセキュリティ対策

追加でさらにセキュリティを上げるために以下の対策を入れます。

  • Google reCAPTCHA V3

reCAPTCHAは昔で言うと画像認証サービスです
詳しくは画像をクリック

V1とV2はどうだったのか説明します。
Google reCAPTCHA V1 読みづらい英数字を読み取ってフォームに同じ英数字を入れて認証させる(なかなか読み取れなくて失敗した経験あります)
Google reCAPTCHA V2 「車の入った画像を全て選ぶ」等の複数の画像から車の入っている写真を選択して認証する

それに対してreCAPTCHA V3は何も操作しなくとも認証される便利なサービスです。

実はこれContact Form 7のプラグイン的な機能になっているのでreCAPCHAの登録をしたらWordPressの管理画面から登録することができます。

まとめ

セキュリティ対策を入れるのであれば設定もそこそこ複雑になります。
複雑にしないと簡単にウィルスメールやスパムメールの餌食になるので複雑でも対応は必須です。

最近ではメールの代わりにプッシュ通知に置き換わってきているのですが、まだまだメールの時代は終わらない気がします。
セキュリティ対策は十分にしましょう。


システムエンジニアランキング 仮想通貨ランキング にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ IT技術メモへ にほんブログ村 IT技術ブログ Webエンジニアへ

-フリーランスエンジニア

Copyright© スリーネクスト , 2020 All Rights Reserved.