Synthetic teaching example for a website delivery brief. Not a client result, live account test or certification.
A line break in a screenshot is not a DNS record boundary
After a website or email supplier handover, a screenshot may show two pieces of SPF text. The important question is whether they are two separate TXT resource records or two character strings inside one record. Treating both situations alike can lead to a destructive “cleanup” that changes a working sender configuration.
| Supplied DNS representation | Selected SPF record count | Finite conclusion |
|---|---|---|
| Two TXT records, each beginning v=spf1 | 2 | PERMERROR_MULTIPLE at selection |
| One TXT record with two strings; another unrelated verification record | 1 | ONE_RECORD_SELECTED_NOT_EVALUATED |
| Only an unrelated site-verification record | 0 | NONE; no supplied SPF policy, not a delivery diagnosis |
Use the filled example
Download the finite Node checker and filled input. Run with Node 24 or newer; no account, API or network is used.
node checks.mjs spf-record-selection spf-record-selection.jsonThe input uses a nested array: each outer item is a TXT record, while inner strings are concatenated as one record. The first example has separate fictional sender-a and sender-b policies. The second splits one policy before -all and includes an unrelated site-verification record. The checker counts policy records; it does not evaluate include targets, DNS lookup limits or sender authorisation.
A safe handover evidence request
Ask for the exact DNS owner name, a timestamped RRset export, the agreed authorised senders and a redacted sample of the provider’s own configuration instructions. Keep screenshots as supporting material only. Confirm record boundaries with the DNS operator before discussing a change. Two senders do not imply that two independent SPF records should coexist.
Do not automatically merge includes, remove a sender or replace a policy with this teaching input. An include chain can have additional limits, and a record that selects successfully is not proof that mail passes SPF, DKIM or DMARC. Incoming server decisions and actual message headers need separate authorised testing.
All example domains are fictional. This resource performs no DNS lookup and makes no live email change. Its result is a narrow selection check for supplied ordinary lowercase v=spf1 examples, not a standards-complete SPF evaluator or a promise of inbox placement.
Primary facts and limits
RFC 7208, sections 3.2–3.3: Distinguishes multiple SPF records from multiple character strings within one TXT record.
Sources reviewed 15 October 2026. The supplied input and acceptance rules are original teaching design; check current platform versions and your actual delivery contract before implementation.