WEBサーバーとメールを別サーバーで運用した場合、WEBサイトからのお問い合わせメールが届かないことがあるようです。
調べてみると、WEBサイトを運用しているレンタルサーバーのローカル配信という機能が原因でした。
WEBサーバーとメールサーバーを別サーバーで運用
WEBサーバーとメールサーバーを別々のサーバーで運用することは、よくあると思います。
WEBサーバーとメールサーバーをDNSの設定で正しく設定すれば、通常は問題ありません。
WEBサーバーをAレコードで設定し、メールサーバーをMXレコードで設定します。
このように設定すれば、メールはMXレコードで設定された先に届けられます。
WEBサーバーからのお問い合わせメールが届かない
ある時、WEBサーバーからのお問い合わせメールの配信が、WEBサーバーと同じドメインのメールの当て先に届きませんでした。
MXレコードに書いてあるはずなのに、なぜ届かないです。
通常のメールは問題なく届きます。
うーん、問題をまとめてみると以下の通りです。
届くメール
- 外部から送られてくる通常のメール
⇒ MXレコードに書かれていることは正しい。
届かないメール
- WEBサイトからのお問い合わせフォームから送られたメール
⇒ MXレコードが無視されている?参照されていない?
原因を調べてみると、どうやら、メールのローカル配送が原因のようでした。
メールのローカル配送とは
メールのローカル配送とは、以下の現象です。
CPI のレンタルサーバーでは、メールを送信する際に、メールの宛先に指定されているメールアドレスのドメインがどこに存在するかを探し出します。通常であれば DNS サーバーのゾーンファイルに記述されたMXレコードで指定されたメールサーバーへメールを送信します。
しかし、メールを送信するサーバー内に、送信先のドメインが存在する場合は DNS サーバーの MX レコードの記述よりも、同じサーバー内にメールを送信することを優先します。
これにより、送信したはずのメールが送信先のメールサーバーに届かないような状態が発生します。
サーバー内へメールが送信されることを、「ローカル配信」や「内部配送」などと呼び、特にサーバーの移転の際にトラブルになることがございます。
また、ウェブサーバーとメールサーバーが異なるサーバーで運用している場合に、ウェブページのお問い合わせフォームで入力した情報が、メールサーバーではなく、ウェブサーバーと同じサーバー内に設定されたメールサーバー側に送信されてしまうことがございます。
・https://www.cpi.ad.jp/support/faq/faq_func/faq_func_mail/support-556.html
これはCPIのレンタルサーバーの説明ですが、他のレンタルサーバーでも同様の現象が起こるようです。
例えば、GMOクラウド 専用サーバーのメール転送の仕組みは以下の通りです。
・https://support.gmocloud.com/private/guide/users_guide/basic_mail_delivery.html
不具合の原因ともなっているローカル配送ですが、メリットもあります。
ローカル配送を使うと、わざわざ外部のDNSに対してMXレコードを問い合わせする必要がないために、メールをすぐに配信可能です。
mixhost (ミックスホスト) での解決方法
WEBサーバーとしてmixhostを使っている場合、メールのローカル配送の解決方法は次の通りです。
mixhost では cPanel 管理画面の中で
電子メール
⇒電子メールルーティング
という画面を開きます。
電子メールルーティングの画面を開いたら、
Configure Email Routing
- 構成を自動検出
- ローカルメールエクスチェンジャー
- バックアップメールエクスチェンジャー
- リモートメールエクスチェンジャー
この中から、
- リモートメールエクスチェンジャー
を選びます。
これで、無事にWEBサーバーからもMXレコードを参照するようになります。
コメント