レンタルサーバーのメールが迷惑扱いされる
長年動いていたフォームが、ある時期から届かなくなった。多くの場合、サイトを変えたからではなく、受け取る側の基準が変わったからです。
考えられる原因
受け取る側の基準が変わった(2024年2月)
Gmail と Yahoo! が送信者要件を引き上げ、送信ドメイン認証のないメールは迷惑メール送りか、そもそも配送されなくなりました。こちらのコードは何も変えていないのに、ある日から届かなくなる理由がこれです。
サーバー付属の送信は、あなたのドメインの認証と結びついていない
PHP の mail() やサーバー標準のメール送信は、共有のホスト名から出ることがあります。差出人はあなたのドメインなのに、認証はそのドメインについて取れていない。受け取る側から見ると、なりすましと区別がつきません。
コントロールパネルで、送信ドメイン認証を有効にしていない
さくらもエックスサーバーも、DKIM や SPF の設定項目を管理画面に持っています(名称はサーバーごとに違います)。既定で有効になっていないことがあり、有効化とDNSへの反映が要ります。DNSを他社で管理している場合は、そちらにレコードを足す必要があります。
差出人を、問い合わせてきた人のアドレスにしている
フォームの通知メールで「From = 送信者」にしている実装は、他人のドメインを名乗ることになります。認証が通るはずがありません。差出人は自社のアドレス、Reply-To に相手のアドレスを入れてください。
直し方
サーバーの設定と DNS を整える
契約中のサーバーで送信ドメイン認証(SPF・DKIM)を有効にし、DMARC を追加します。サーバーの管理画面とDNSの両方を触ることになり、反映の確認まで含めて手数がかかります。何が足りていないかは、到達チェックで先に把握できます。
フォームのメールだけ、外に出す
サイトもサーバーもそのままで、問い合わせフォームの受け取りと通知だけを認証済みの基盤に任せます。あなたのDNSもサーバーの設定も触りません。返信先はあなたのアドレスのままです。
無料で試す今あるフォームを作り直す必要はありません。送信先(action)を書き換えるだけで、見た目も項目もそのまま受け取れます。届いた問い合わせは分類され、返信の下書きまで用意されます。
<script src="https://nintact.com/embed.js"
data-nintact="YOUR_FORM_ID" async></script>よくある質問
サーバーを引っ越さないと直りませんか?
引っ越しは不要です。サーバーの送信ドメイン認証を有効にするか、フォームからのメールだけ認証済みの基盤に任せるかのどちらかで直ります。
自分のドメインが今どういう状態か、どこで分かりますか?
到達チェックにドメインを入れると、SPF・DKIM・DMARC・MX を実際に引いて診断します。登録は不要で、そのままテストメールを1通送って確かめることもできます。
サイトの表示は今のままにできますか?
できます。フォームの送信先を書き換えるだけなら、HTMLも CSS もそのままです。作り直したい場合は、コード1行で描画する形にも切り替えられます。