Contact Form 7で実装したフォームからのメールが、迷惑メールフォルダに振り分けられてしまう時の対処法をご紹介したいと思います。
フォームからのメールが迷惑メールになってしまう主な原因としては、以下2つが考えられます。
- 送信元メールアドレスがサイトのドメインと異なる
- DNSレコードにSPFレコードが追加されていない
それぞれの対処法についてご紹介いたします。
送信元メールアドレスがサイトのドメインと異なる
送信元メールアドレスがサイトのドメインと異なる場合、メールが迷惑メールとして判定されていまうことがあります。フォームが機能しないわけではないのですが、Contact Form 7のフォーム設定画面でもエラーとして表示されます。
例えば、送信元メールアドレスをフォームで入力されたメールアドレスに設定する等、サイトのドメインと異なるメールアドレスが設定されるとエラーになってしまいます。
追加ヘッダーに「Reply-To: [メールアドレスの入力フォーム]」が入っていれば、返信先は入力されたメールアドレス宛になるので、送信元メールアドレスはサイトドメインに合わせて設定しましょう。当ブログの場合、「xxx@techmemo.biz」となるようにします。
これで設定画面のエラーも解消されます。
フォームの送信テストを行い、メールが迷惑メールフォルダに振り分けられないかチェックしましょう。
DNSレコードにSPFレコードが追加されていない
送信元メールアドレスをサイトのドメインに合わせて設定しても、迷惑メールフォルダに振り分けられる場合は、サーバーのDNSレコードに「SPFレコード」というものを追加することで解消できます。
SPFは、メールの送信元が偽装されていないことを証明するための仕組みです。メールでは簡単に送信元を偽装することができるため、SPFレコードを使って信用できるかをチェックします。
今回は、サーバーがエックスサーバーの場合でご説明いたします。サーバーやレジストラによってはSPFレコードの記述方法が微妙に違うことがあるので、具体的な記述方法はご利用のサーバー・レジストラ会社にお問い合わせください。
まずサーバーパネルにログインし、[サーバー情報]にアクセスします。
「ホスト名」と「IPアドレス」をメモしておきます。
続いて、[DNSレコード設定]にアクセスします。
[DNSレコードの追加]を開き、下記の情報を入力します。
ホスト名 | 空欄のまま |
種別 | TXT |
内容 | v=spf1 +ip4:***.***.***.*** ~all |
優先度 | 0 |
「***.***.***.***」の部分には、サーバーのIPアドレスを入力してください。
[DNSレコードの追加(確認)]→[DNSレコードの追加(確定)]の順でクリックし、DNSレコードを追加します。
この時点でフォームからのメールが迷惑メールに振り分けられるかチェックしてみてください。まだ迷惑メールに振り分けられる場合は、追加したDNSレコードの内容を下記に変更します。
ホスト名 | 空欄のまま |
種別 | TXT |
内容 | v=spf1 +ip4:***.***.***.*** +a:sv***.xserver.jp +mx ~all |
優先度 | 0 |
「sv***.xserver.jp」の部分はホスト名を入力してください。
SPFレコードにIPアドレスだけ記述しても状況が変わらない場合は、ホスト名も追加することで解消すると思います。
あとがき
フォームから送信されたメールが迷惑メールフォルダに振り分けられる場合は、上述した内容をチェックしてみてください。Contact Form 7以外のフォームでも、同じ対策が有効かと思います。