nintact
よくある詰まり

SPFレコードの書き方

やること自体は1行のTXTレコードです。詰まるのはたいてい、書き方ではなく「どのサービスを含めるか」と「制限」の方です。

考えられる原因

01

SPFレコードが2つ以上ある

1つのドメインに SPF の TXT レコードは1つだけです。サービスを増やすたびに新しい行を足すと、受け取る側は「不正」と判断して評価そのものを止めます。既存の行に include を足して、1行にまとめてください。

02

DNSの参照が10回を超えている

SPF は評価のときに DNS を引きます。include や a、mx を積み重ねると上限の10回を超え、そこで失敗します。エラーは出ないまま「認証されない」状態になるので、気づきにくい詰まり方です。

03

送っているサービスが含まれていない

メール配信、フォーム、会計ソフト、予約システム。あなたのドメインを名乗って送るものは全部 include が要ります。1つ足し忘れると、そのサービスのメールだけ届かなくなります。

04

~all と -all の違いを決めていない

~all は「たぶん違う」(受け取るが疑う)、-all は「絶対に違う」(拒否してよい)。いきなり -all にすると、含め忘れたサービスのメールが完全に消えます。まずは ~all で様子を見てください。

直し方

自分で書く

ドメインのDNSに TXT レコードを1つ置きます。値は v=spf1 で始め、使っているサービスの include を並べ、最後を ~all で閉じます。書いたあとは必ず実際に引いて確かめてください——反映まで時間がかかり、書けたことと効いていることは別です。

フォームのメールだけ、対象外にする

問い合わせフォームに限れば、あなたのドメインを名乗らずに送る手があります。差出人は認証済みの基盤、返信先はあなたのアドレス。SPF を触らずに、フォームからのメールだけ確実に届かせられます。

無料で試す

設置はコードを1行。DNSにも、契約中のサーバーにも触りません。届いた問い合わせは分類され、返信の下書きまで用意されます。

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

よくある質問

SPFだけ設定すれば、メールは届きますか?

「認証がない」ことによる拒否は止まります。ただし迷惑メール判定を安定して避けるには DKIM も要りますし、まとまった数を送る相手には DMARC が求められます。

include をいくつまで足せますか?

数の上限ではなく、DNSの参照回数が10回までです。include 1つが内部でさらに引くこともあるので、3〜4個で上限に近づくこともあります。到達チェックで実際の回数を確認できます。

反映にどれくらいかかりますか?

数分から数時間です。DNSの設定によっては1日近くかかることもあります。書いたあと、実際に引いて確かめるまでは終わったと考えないでください。

DNSを触る権限がない場合は?

フォームのメールに限れば、触らずに済ませられます。詳しくは「DNSを触れないままメールを届かせる」をご覧ください。