メールフォームを簡単設置!といったなんといってもプラグインの「contact form7」が超便利。
というか、他のメールフォーム用プラグインは少し試しただけですが、何年も使っていて特にトラブルがない、これさえ使っておけば大丈夫、ぐらいの安心感がありますね。
そんな中でふと気が付くと、ワードプレスにログインした状態で左のメニューの「お問い合わせ」のところに赤丸でエラーか何かを示す表示が... ということで見てみると、以下のような表示がされてます。
「サイトのドメインに属していないメールアドレスが送信元に設定されています。」
なんだこれは?ということで、その原因や理由と対処法を見ておきましょう。
※)対応するにあたっては、最後の方にある「対応した結果の問題点」も確認してみてください。
Contents
エラーの状態を確認する
まず今回の contact form7 でのエラーの状況を確認します。
ワードプレスにログインすると、以下の①のように、エラーの赤丸表示がされている。
①にカーソルを持っていくと、②の赤丸が付いたメニューが表示されるので、そちらをクリック。
すると contact form7 の設定画面に移り、以下のように「このフォームにエラーがあるよ」と表示されます。
そこで「設定エラーを検出しました」となっている「コンタクトフォーム1」をクリック!
(フォームの名称はこの場合には「コンタクトフォーム1」になってますが、設定しているフォーム名が表示されていると思います)
すると以下図のように「メール」タブに赤丸が付いているので、そちらがエラーとなっていることが分かります。
↓↓↓↓↓↓
すると、上の図のように実際のエラー箇所が表示されます。
ここでは「送信元」がエラーの対象ですが、赤枠で表示されている [your-name] <[your-email]> に対して、
「サイトのドメインに属していないメールアドレスが送信元に設定されています。」
というエラー内容が表示されているのが分かりますね。
これを解決したい、というところですが、解決する前にその理由や原因を押さえておきましょう。これを見ると、これは実はこのままでもいいか、ということにもなりますので。
エラーの原因と理由
ここでエラーとなっている「送信元」は、普通に考えれば「メールフォームでお問い合わせいただく方の名前やメールアドレス」になるところ、に見えますが、contact form7の「設定検証についての FAQ | Contact Form 7」を見てみると、
- 送信元:サイトのドメインに属するメールアドレスを指定する
となっています。
理由も書かれてますが、メールフォームを通して送られるメールは、当然そのドメイン(私の場合は、tabibitojin.com)を通して(その後いくつかのサーバーを経由して)実際PCで受信する、といった形になります。
ここで、仮にAさん、そのAさんのメールアドレスが「aaa@test.com」として、そのAさんがメールフォームを利用して問合せしようとすると、当然
- 名前:Aさん
- メールアドレス:aaa@test.com
と入力するわけです。
ここで問題となるのが、
- メールを送信するサーバー(ここでは tabibitojin.com)と
- 送信元として設定されるメールアドレスのドメイン(ここでは test.com )
が異なること。
「メールを送信するサーバーのドメイン」と「送信元となるメールアドレスのドメイン」が異なると、途中中継するサーバーから見れば、
- あれ?送信しているドメインとは違うドメインのメールアドレスが送信元になってるぞ
- これは「なりすましメール」「偽装されたメール」かもしれない
と認識してしまう可能性がある、ということになります。
(そう認識されると迷惑メール扱いになって、メールが届かない、という可能性も出てくる)
ということから、そうならないために「contact form7」では、
- 送信元に「サイトのドメインに属するメールアドレス」、つまり「tabibitojin.com」で使うメールフォームでは、
- 送信元に「xxx@tabibitojin.com」といった、同じドメインである「tabibitojin.com」のついたメールアドレスを指定してね
ということになりますね。
エラーの対処法
対処法は簡単だが注意が必要
ここまで見てきて分かるように、対処法は簡単ですが注意が必要です。
- まず対処法は、運用しているブログやサイトのドメインのつくメールアドレスを設定すること。
私の場合では、ブログのドメインが「tabibitojin.com」なので、このブログで contact form7 を使用する場合、送信元には「xxx@tabibitojin.com」というようなメールアドレスを設定すればよい、ということになります。
で、実際に送信元に「xxx@tabibitojin.com」を設定してみると...
確かにエラーはなくなりました。(´▽`)
ただ、これだけでは、実際にメールを受け取り、さて返信しよう、とした時に、送信先のメールアドレスが全てこの送信元宛て(つまり全て To: xxx@tabibitojin.com)になってしまい(返信が全て自分宛てになってしまい)、「返信ができない~」という事態にもなります。(さぁ大変だ!)
ということで、
- 返信先のメールアドレスはこちらですよ、という設定も併せて対応しておく
といった必要が出てきます。
返信先のメールアドレスの設定
ということで、返信先のメールアドレスの設定は、同じ画面にある「追加ヘッダー」で行います。
実際にはすでに自動で設定がされているかもしれませんが、以下が設定されいればOK。設定されていなければ設定しておきましょう。
- Reply-To: [your-email]
こうすることで、送信元は確かに「xxx@tabibitojin.com」ですが、返信するときは、メールフォームに入力したメールアドレス宛になるはずです。
【対応した結果の問題点】送信元が分からない
以上で、contact form7 のエラー表示もなくなり、動作的にも一応大丈夫な形になりましたが、ここで1つ問題が出ます。
考えてみれば当たり前ですが、「送信元」が全て上で設定した「xxx@tabibitojin.com」となり、メールを受けるとそれに自動で「WordPress」と名前が付けられること。
メールソフトで見ると、差出人が全て「WordPress」になってしまい、これ、誰から?となんだかよく分からにメールになってしまうんですね。
こうなると、確かにエラー表示は消えたけど、ちょっと「なんだかな~」という感じです。
最終的にはどうしたか
メールソフトで見ると「全て同じ送信元が表示されて、よく分からないメールになる」ということから、私の場合結局このエラーの対応はとらずに、元々送信元に設定していた [your-name] <[your-email]> を設定しています。
気になるのが、メールフォームから送信されたメールを中継するサーバーで「なりすましメール」「偽装メール」と認識されて届かない可能性がある、というところですが、これは確認しようがないところ。
もしかしたら今までも届いてないメールがあったかもしれない、ということになりますが、普通にメールは来ているようですので、暫くはこのままにしておこうかと思ってます。(エラー表示がされているのは確かに気になりますが)
ちなみに上の方で紹介している contact form7のFAQ では、以下のようなことも書かれてますね。
「エラーがあるのに動作は正常のようだが...?」の問に対しては、
エラーが検出されたということは、どこかに隠れたリスクがあるということです。一回メール送信をテストしてうまくいったからといって安心はできません。ずっと後になって問題として表面化するかもしれないじゃないですか。
「私の設定は絶対に間違ってないのにエラーがでる。納得できないのでエラー無視して良いか」の問に対しては、
エラーの意味が理解できていてその(誤)設定がもたらし得るリスクをちゃんと管理できる自信があるんでしたら、無視したらいいんじゃないですか?
この”いいんじゃないですか?”にしびれる(笑)
潔い回答というか、なんというか、こういった回答、結構好きです。^-^)