splitforms.com
Free diagnostic · no signup

Contact form deliverability diagnostic

If your contact form submits but the email never arrives, check the recipient address first, then the spam folder, then your sender configuration, then the form backend log. This diagnostic sends you to the SPF, DKIM and DMARC checkers for the domain in your From address and explains what each result means.

Paste the domain from the From address into each checker, then use the notes below to read each result.

SPF

SPF lists the servers allowed to send mail for your domain. A missing or broken record makes receivers more suspicious of form notifications sent From that domain.

DKIM

DKIM adds a cryptographic signature that receivers can verify, and it usually survives forwarding. You need the selector your email provider uses as well as the domain.

DMARC

DMARC tells receivers what to do when SPF or DKIM fails, and it sends you reports. Start with a monitoring policy before you move to quarantine or reject.

These checkers read public DNS records. Passing DNS checks helps receivers trust your mail, but it does not guarantee inbox placement: reputation, content, recipient filters and sending volume still matter.

What each check tells you

SPF tells receivers which servers may send mail for your domain. If the domain in your From address has no SPF record, or the record does not include the server that sends your form notifications, receivers have less reason to trust the message.

DKIM gives each message a cryptographic signature that the receiver can verify against a public key in DNS. A correct signature also survives many forwarding paths, where SPF can break.

DMARC ties SPF and DKIM to the From domain and tells receivers what to do when neither passes. A monitoring policy with reporting shows you which senders are failing before you tighten it.

These are public DNS records, so the checkers can only show what is published. They cannot see your inbox, your form backend or your sender reputation. Use them as evidence about the sender configuration, then keep working through the sequence below. For the full setup order and the alignment mistakes that cause failures, read the email authentication guide for form notifications.

Troubleshooting sequence when a form email is missing

  1. Check the recipient address. Open the form backend settings and read the destination address character by character. Look for a typo, an old employee address, or an address that still needs verification. Send a test to a mailbox you control to prove the path works.
  2. Check the spam folder and quarantine. Search all mail, including spam and promotions, for the subject line or the sender. On a work account, ask the admin to check the quarantine, because held messages do not appear in any normal folder.
  3. Check the sender configuration. Send From an address on a domain you control, put the visitor's address in Reply-To, and run the SPF, DKIM and DMARC checkers for the From domain. If the records are missing or do not cover the sending server, fix the sender side before changing anything else.
  4. Check the form backend logs. Find the entry for the test submission. Delivered means the problem is inbox-side. Bounced or rejected means the log should show an SMTP code. No entry means the send was never attempted, so look for a swallowed error or a quota cutoff.

FAQ

Why does my contact form say it sent but no email arrives?

A success message only confirms the browser reached the form backend. The notification email is a separate step after that, so the missing message is usually a wrong recipient address, a spam or quarantine folder, a sender authentication problem, or an error recorded in the form backend log. Work through those four checks in that order.

Does passing SPF, DKIM and DMARC guarantee inbox delivery?

No. The records help receivers verify that your sending server is allowed to use your domain, and they reduce spoofing risk, but inbox placement also depends on sender reputation, message content, recipient filters and sending volume. Treat the DNS checks as one part of the diagnosis, not a guarantee.

How do I find the domain to check for SPF, DKIM and DMARC?

Look at the From address on the notification your form sends, then use the part after the @ sign. If your form sends From hello@yourdomain.com, check yourdomain.com. For DKIM you also need the selector from your email provider, which appears as the s= value in a message's DKIM-Signature header.

What should I check after the DNS records look correct?

Check the recipient address in your form backend settings for a typo or an unverified destination, search all mail plus spam and quarantine, confirm the sender configuration uses an address on your authenticated domain, and read the backend log to see whether the send was delivered, bounced or never attempted.

All free form tools · Contact form works but no email arrives · Why form emails go to spam

More free form tools

Form backend cost calculator

Enter monthly submissions and compare the cheapest listed plan across eight form backends.

Form conversion rate calculator

Enter form views and submissions to get your contact form conversion rate, plus leads needed and total value for a target.

Email deliverability checker

Enter a domain to check its SPF, DMARC and MX records and get a plain-English fix for each.

SPF record checker

Look up a domain's SPF record, see each mechanism explained and count DNS lookups against the 10-lookup limit.

DMARC record generator

Pick a policy and report address and copy a ready _dmarc TXT record.

DMARC checker

Look up a domain's DMARC record and see the policy and every tag explained.

DKIM record checker

Enter a domain and selector to check its DKIM key, with presets for common senders.

SPF record generator

Tick your email providers and copy one SPF TXT record with a lookup count.

Contact form spam checker

Paste form HTML to audit its honeypot, endpoint, CAPTCHA markers and spam resistance.

Honeypot field generator

Generate a hidden anti-spam input with your chosen name and hiding technique.

HTML form action & method generator

Enter an endpoint, choose GET or POST, add an access key and field names, then copy the HTML.

HTML form validation tester

Paste a form snippet to inspect required, type=email, minlength and pattern checks in a live preview.

Form action URL tester

Check a form action URL for reachability, CORS headers, POST acceptance and backend.

Email obfuscator

Encode your email so spam scrapers can't read it but people can still click it.

Mailto link generator

Build a mailto: URL with recipients, CC, BCC, subject and a pre-filled body.

Alphanumeric regex tester

Test letters and numbers only, spaces, handles and Unicode; copy validation patterns.

Email regex tester

Test the WHATWG email regex and two other patterns against edge cases and your own list.

Phone number regex tester

Test numbers against E.164, US/Canada and digits-only patterns and copy code snippets.

ZIP code regex tester

Test US ZIP, ZIP+4, Canadian and UK postal codes and copy the regex or HTML pattern.

Number regex tester

Test digits, decimals, money and thousands separators and copy validation patterns.

Date regex tester

Test dd/mm/yyyy, mm/dd/yyyy and ISO dates with leap-year checks and copy JS or HTML patterns.

Name regex tester

Test name patterns for O'Brien, accents and Unicode letters; copy JS or HTML pattern snippets.

Username regex tester

Test username presets for GitHub, Instagram and X; check reserved names and copy JS or HTML patterns.

IP address regex tester

Test IPv4, IPv6, CIDR and private-range patterns and copy JS or HTML pattern snippets.

URL regex tester

Test website URLs against http(s) regex patterns and new URL(), and copy JS, HTML or PHP code.

HMAC-SHA256 generator

Generate and verify webhook signatures for common providers in your browser.

URL encoder and decoder

Encode text, build an x-www-form-urlencoded body or parse a query string.

Password regex generator

Pick strength rules, test passwords live and copy the regex or HTML pattern.

UTM builder

Build campaign URLs with UTM parameters, tag a CSV in bulk and check tagged links.

HTML to JSX converter

Paste HTML and get JSX or a working React/Next.js form component.

Image to Base64 converter

Convert images to Base64 data URLs in your browser and copy HTML and CSS snippets.

Base64 to image converter

Paste a Base64 data URI to preview and download the decoded image.

Base64 decode & encode

Decode Base64 to readable UTF-8 text or encode text to Base64, locally in your browser.

URL to Base64 converter

Fetch a direct image URL in your browser and get its Base64 data URL.

HTML form generator

Build a form visually and copy HTML, React JSX or Tailwind code.

AI form generator

Describe your form in plain English and copy working HTML.

Time regex tester

Test 24-hour, AM/PM and ISO time patterns and copy JavaScript, Python or HTML snippets.

Credit card regex tester

Test Visa, Mastercard 2-series, Amex and more card patterns with brand detection and a Luhn check.

Hex color regex tester

Test #RGB, #RRGGBB and alpha hex colors plus rgb() and hsl() values with live color swatches.

UUID regex tester

Test UUID v1-v8, nil/max and GUID formats with version and variant checks; copy JS or HTML patterns.

See all free tools