イメージ

メールフォームから送信されるメールがなりすまし判定を受けて受信できない場合の回避設定について

メール
当サイトで配布しているメールフォームプログラムでは、サイト管理者は「自分のメールアドレス」をconfig.phpの中で設定する仕組みになっています。
具体的にはconfig.phpの8行目の以下の部分で設定します。

//【必須】 自分のメールアドレスの設定 -- 複数のメールアドレスに送信したい場合は、以下の行をコピーして増やしていけばOKです。行頭の//を消せば有効となります。いくつでも追加可能。 --
$rm_send_address[] = 'aaa@example.co.jp';

特に、上記設定でGmailのメールアドレスを記入すると、メールが届かないケースが多々あるようです。(ユーザーからの報告で把握しました)
そのような症状が起きた時はこのページを読むと解決できるかもしれません。

また、メールを受信できる場合でも以下のような警告が表示されるケースもあります。
迷惑メールの警告

その症状の原因は「メールフォームでメールが届かない時にチェックすべきポイント」で記載した通りなのですが、これを回避するための設定をバージョン8.1から追加しましたのでここで解説します。

このメールフォームプログラムで送信されるメールには、

  1. サイト管理者へのメール
  2. フォーム入力者への自動返信メール

の2種類があり、ごっちゃになって考えてしまいやすいため、整理しながら順番に見ていきます。

まず、Webサーバーが存在し、そこにあなたのサイトがあるとします。
ここでは仮に、そのサイトのドメインが「example.com」だと仮定して話を進めます。
設置するWebサーバー

次に、あなたはそのサーバーにメールフォームプログラムを設置します。
メールフォームを設置する

そして誰かがメールフォームに入力をしてフォームを送信すると、メールが受信サーバーに向けて送信されます。
ここでは仮に、フォーム内のメールアドレス欄には「aaa@test.com」と入力したとします。
メールが送信される
この時、サイト管理者に向けて送信されるメールの「送信元サーバー」と「送信元アドレス」は以下のようになり、両者のドメインが一致しません。

  • 送信元サーバーは、example.com
  • 送信元アドレスは、aaa@test.com
    (フォームのメールアドレス欄に入力したもの)

このように上記2つのドメインが一致しないと、受信側の迷惑メールフィルタで「なりすましメール」の判定を受けやすくなり、場合によっては自動的にそのメールを拒否・削除をしているケースがあります。
昔からGmailはそのあたりのフィルタが厳しく、2022年に入ってからさらに厳しくなったようです。

【補足説明】
実際の運用上では、フォーム入力者がそのサーバーのドメインのメールアドレス(上記例だとexample.comのメールアドレス)を入力するなんてことはまずあり得ません。
そんなことが起きるのは、サイト管理者本人がテスト送信をする時だけでしょう。

つまり、上記の2つが一致することはほぼありません
でも受信するメールサーバーがGmailのようによほど厳しくない限りは、案外普通にメールを受信できるはずです。

フォーム入力者へ送信される自動返信メールについても全体の流れは上記と同じです。
ただし「送信元サーバー」と「送信元アドレス」は少しだけ異なり、以下のようになります。

  • 送信元サーバーは、example.com
  • 送信元アドレスは、config.php内の8行目で設定したメールアドレス
    (このページの冒頭で紹介したコード部分)

つまり、config.phpで設定する「自分のメールアドレス」をそのサーバーのドメインと合わせておけば両者のドメインは一致するため、自動返信メールはきっと相手に届くでしょう。

もし両者が一致しないメールアドレスを設定した場合、自動返信メールが届くかどうかは受信側の迷惑メールフィルタの厳しさ次第となります。

状況の整理ができたので、ここからが本題です。

メールフォーム本体のバージョン8.1からはconfig.phpの中に以下のような新たな設定項目があります。
説明文が長々とありますが、設定を書くのは最後の1行のみです。

//【任意】 自分(サイト管理者)や相手(フォーム入力者)に届くメールの送信元アドレス -- 複数設定は不可 --
// ( 補足説明 )
// 通常これは記入する必要はありません。以下の初期状態のように空欄のままにしておけばOK。
// なりすまし判定を受けてメールが受信できない場合にのみ、以下のページを参考にして設定すると良いでしょう。
// https://www.1-firststep.com/archives/15075
$rm_from_address = '';

上記には設置するサーバーのドメインと同一ドメインのメールアドレスを記入してください。ここは非常に重要です。

もし設置サーバーのドメインが「example.co.jp」なら、上記には「aaa@example.co.jp」とか「tani@example.co.jp」のようなメールアドレスを記入するのです。
そうすれば「送信元サーバー」と「送信元アドレス」の両方のドメインを一致させることができますので、受信する側で拒否される可能性はほぼなくなるでしょう。

【補足説明1】
ちなみに、ここで記入したメールアドレスはあくまでも「送信元」として使用されるだけであり、メールが届くわけではありません。
なのであくまでも「サーバーのドメインと同一ドメイン」であるかどうかを基準として設定すればOKです。

【補足説明2】
サーバーによっては、そのサーバーで作成されていないメールアドレスからの送信ができない可能性があるので、上で記入したメールアドレスは使わないにしてもサーバー管理画面で新規作成しておくと無難です。

提供サポートなど