広告

WordPress~Contact From 7 フォームからの送信メールが迷惑メールになるのを防止する方法

Contact From 7 WEB
この記事は約5分で読めます。

WordPressでお問い合わせフォームを構築するとき、使用されるプラグインContact Form 7ですが、問い合わせのあったときに自分に送信されるメールが迷惑メール扱いになり、困ってしまったので、WP Mail SMPTというプラグインを導入しました。

どうして迷惑メール扱いになるのか?

WordPressからメールを送信する方法

WordPressはPHPで構築されていますから、mail関数か、mb_send_mail関数でメールを送信することができます。

また、WordPressの関数であるwp_mailでもメールを送信することができます。

Contact Form 7の中身を見てみると、contact-form-7/includes/mail.php の134行目にwp_mailがあります。

迷惑メールとされる一番の原因はメールヘッダーの設定ミス

私の経験的に、迷惑メールとされる一番の原因はメールヘッダーの設定ミスです。

そこで、Contact Fprm 7のヘッダーを確認してみると、それなりに設定されているので、問題はなさそうです。

ただし、MIME-Version: 1.0という記載はなし・・・

ちなみに別の案件で、メールフォームを自作した時のヘッダー設定は・・・

$from = ""; // 送信元
$from_mail = ""; // 送信元 送信メールアドレス
$from_name = ""; // 送信元組織名

$header = "MIME-Version: 1.0 \r\n";
$header .= "Content-Type:text/plain;charset=iso-2022-jp \r\n";
$header .= "Return-Path: " . $from_mail . "\r\n";
$header .= "From: " . $from ." <" . $from_mail . ">\r\n";
$header .= "Sender: " . $from ." <" . $from_mail . ">\r\n";
$header .= "Reply-To: " . $from_mail . "\r\n";
$header .= "Organization: " . $from_name . "\r\n";
$header .= "X-Sender: " . $from_mail . "\r\n";
$header .= "X-Priority: 3 \r\n";

1行で書けや!と叱られそうです。ごめんなさい。

あと、上のコードでは省略していますが、文字コードをiso-2022-jpに変換する必要があります。

こうやって比較すると、どうもヘッダーの部分が怪しい。と思いプラグインを修正するのも面倒だし・・・

WP Mail SMTP プラグインを入れて解決

簡単に解決するため、WP Mail SMTPを導入!

SMPTというのは、Outlookなどのメールソフトやメールアプリでメールを送信するときのシステムのことです。

WP Mail SMTPで通常のメールと同じように送信しちゃえ!

ってことですね。

WP Mail SMTPの設定

メール設定

上の画像のように設定すれば、OKです。

一応、順番に書くと

送信元アドレス:gmailでもOKです。できればサイトと同じドメインのものにしましょう。

送信者名:日本語でOK

返信先:普通のメールだと送信元アドレスが返信先になるので、チェックしておく

メーラー:Other SMTPを選ぶ

Dedaultだと迷惑メールになり、Gmailだと設定が大変です。

SMTPホスト:smtp.gmail.com

暗号化:SSL

SMTPポート:465

SMTP Username:ユーザー名を入力します。Gmailならメールアドレス。他でもメールアドレスの場合が多いです。

SMTP Password:メールのパスワードを入力します。GmailならGmailのパスワードかアプリパスワードになります。アプリパスワードについてはこの記事の下部にも設定方法が記載しています。

最後にSave Settings をポチッと

これで完了???

ちょい待て、Gmailを使うなら、次も設定する必要があるぞ!

Gmailの場合、Gmailで設定が必要

グーグルのセキュリティ向上のため、GmailでSMTPを使う際は、アプリパスワードの設定が勧められています。

ただし、2段階認証の設定をしていないと、アプリパスワードを設定できません。

googleアカウントに行く https://myaccount.google.com/

2段階認証をしていないとき

セキュリティを選択して、下にスクロールしていくと、「安全性の低いアプリのアクセス」があります。

googleアカウントの設定

推奨はオフですが「オン」にしましょう。

これで、メール送信が可能になります。

2段階認証をしているのなら、アプリパスワードを設定

googleアカウントアプリパスワード

googleアカウント https://myaccount.google.com/ のセキュリティ

グーグルへのログインでアプリパスワードを選択して、画面の指示に従ってアプリパスワードを作成しましょう。

作成中に、アプリパスワードを生成するアプリとデバイスを選択してください。

と表示されます。

アプリを選択 > その他(名前を入力) を選び

ご自身で判別できる名前を入力します。

「生成」ボタンが押せるようになったら、「生成」を押してパスワードを作成します。

アプリパスワードの設定

最後にメールの送信テスト

全部設定が終了したらメールが送信されるか、実際のフォームから送信してみましょう。

なお、送信先と受信先を同じGmailのアドレスにすると、メールは届きませんのでご注意を!