Webサーバーの引っ越しとメールフォームエラー

ワードプレスMW WP Formサーバープラグインメールフォーム

Webサーバーだけを引っ越してメールフォームがエラーを起こしたときの整理用メモ。

前提

「ドメインA」のWebサーバーを「サーバーA」から「サーバーB」に引っ越した際、
ワードプレス・プラグインのメールフォームがエラーで動作しない場合の話。

メーラー同士では引っ越し前と同じ設定で送受信出来ているものとします。

Xサーバーとさくらインターネット、メールフォーム「MW WP Form」の組み合わせしか検証していないので限定的な話です。

メールフォーム、管理者宛て

Webサーバーを移転してもメールは移転前通り、ということは

  • Aレコードは「サーバーB」
  • MXレコードは「サーバーB以外」のなにか

としていると思います。

 

ところが、「サーバーB」において、管理者宛てメールを「アカウント@ドメインA」とすると、フォームは必ず「サーバーB」に送信します。

  • 「サーバーB」にアカウントが無ければエラーが発生します。
  • 「サーバーB」にアカウントがあったとしても、MXレコードとは違うメールサーバーに届いているので管理者は受信できません。
    別途「サーバーB」に届いたメールを読みに行く必要があります。

※「サーバーB」に紐づいていないドメインならば特に問題は起きません。

SMTPサーバーを変更する

ここで登場するのが「WP Mail SMTP」など、SMTPサーバーを指定するプラグイン。迷惑メール判定を回避する際によく使われるようです。

これを導入・設定することで、MXレコード通りの動作になります。

gmailが良く使われるようで、実際期待通りの動作をしてくれますが、gmail側の設定が結構面倒臭いです。

※パスワードを変更すると、当然エラーが出て送信できなくなります。

※自動返信、管理者宛てが送信済みメールとして全部残ってしまうのですが、gmail側の設定で変更できるのか不明。

 

gmail以外でも、メールを運用できるサーバーなら何でも良いみたいで、

  • 「サーバーA」のメールサーバー
  • 「サーバーC」のメールサーバー
  • メールだけのサービス「サーバーD」のメールサーバー

どれでもOKでした。メールヘッダーも変更できるので、ほんと、どこのでも構わない感じ。

※自動返信、管理者宛てが送信済みメールとして残ることもありません。

※メールソースにSMTPサーバーのIPアドレスが出力されるので、メールサーバーのみのサービスがベターかもしれません。

 

もちろん「サーバーB」のメールサーバーはNG。

SMTPサーバーを通さない、または「サーバーB」のメールサーバーを通す場合は、必ず「サーバーB」に送信してしまいます。

とにかく「サーバーB」以外を指定

「サーバーBのドメインA」に設置したフォームに限らず、

  • 「サーバーBのドメインB」に設置したフォーム
  • 「サーバーB」をメールサーバーに設定したメーラーからの送信

※同じサーバーでドメインを複数運用しているとあり得る

など、「サーバーB」のメールサーバーを経由して「ドメインA」宛てに送信すると、必ず「サーバーB」に送信します。

これを回避できる出来る方法はあるのかな。「サーバーB」の実態はさくらのスタンダードなのですが、他はどうなんだろうか。試してみよう、、、

 

普段まったくタッチしないところなので、書いてることが滅茶苦茶かもしれません。

とりあえず、こういう環境で試したらこうなった、というお話です。