nintact
よくある詰まり

問い合わせフォームのメールが届かない

原因はほとんどの場合、書いたコードではなく、ドメインのメール設定です。まず切り分けて、そのうえで直し方を選びます。

考えられる原因

01

送信ドメインの認証(SPF / DKIM)が無い

Gmail・Yahoo! は、認証されていないメールを受け取らない方針です。レンタルサーバーの標準機能(PHPの mail() など)で送っている場合、ここが抜けていることがよくあります。まずは自分のドメインの状態を確かめてください。

02

DMARC が無い、または送信元と揃っていない

まとまった数を送る相手には DMARC が求められます。SPF や DKIM があっても、From のドメインと揃っていない(アラインメントが取れていない)と失敗します。フォームの通知メールを「お客様のアドレス」から送っているサイトは、ほぼここで落ちます。

03

静的サイトで、そもそも送る手段がない

Next.js / Astro / Nuxt を静的に書き出した構成や、Cloudflare Pages・GitHub Pages では、サーバーがないためメールを送れません。外部のメール送信サービスの契約と、APIキーの管理が要ります。

04

送信元アドレスを、お客様のアドレスにしている

「差出人=問い合わせてきた人」にすると、他人のドメインを名乗ることになり、なりすまし判定を受けます。差出人は自社(または送信基盤)にして、Reply-To にお客様のアドレスを入れるのが正しい形です。

直し方

自分のドメインを整える

DNSに SPF・DKIM・DMARC を設定し、送信ドメインを用意します。正攻法ですが、レコードの発行、反映待ち、アラインメントの確認まで含めて、慣れていないと数日かかります。DNSを触れる権限も要ります。

認証済みの基盤から送る

送信そのものを、認証を済ませた基盤に任せます。あなたの側のDNS作業はゼロで、Reply-To にあなたのアドレスが入るので、返信は普段の受信箱に届きます。nintact はこの形です。

無料で試す

コードは1行です。フォームを作り直したくない場合は、いまあるフォームの送信先を書き換えるだけでも受け取れます。届いた問い合わせは、そのまま分類され、返信の下書きまで用意されます。

<script src="https://nintact.com/embed.js"
        data-nintact="YOUR_FORM_ID" async></script>

よくある質問

コードは合っているのに届きません。何を疑えばいいですか?

まず自分のドメインの SPF・DKIM・DMARC を確認してください。到達チェックにドメインを入れると実際に引いて診断します。フォームの実装より、ドメインの設定が原因であることのほうが多いです。

迷惑メールフォルダには入っています。これは直りますか?

直ります。迷惑メール扱いは、送信ドメインの認証が足りないか、差出人と認証が揃っていないときに起きます。認証済みの基盤から送るか、自分のドメインの設定を整えるかのどちらかで解消します。

DNS を触らずに直せますか?

フォームからのメールに限れば可能です。認証済みの送信ドメインから出す仕組みに任せれば、あなたのドメインのレコードは変更不要です。設定はメールアドレスの確認だけで、だいたい1分で終わります。

今あるフォームを作り直す必要はありますか?

ありません。送信先(action)を書き換えるだけで受け取れます。HTMLも CSS も項目もそのままです。