scipio
Scope my job → hello@scipio.com.au

Fixes

Is your contact form actually delivering? How to check, and the usual fixes

A broken contact form does not look broken. The page loads, the button works, the visitor sees “thanks”. The email just never arrives. Here is how to find out whether that is happening to you.

Most businesses only discover a form problem when a customer rings to ask why nobody replied. By then it may have been failing for weeks. The good news is that checking takes ten minutes and the fixes are usually small.

Test it like a stranger would

Filling in your own form from your office is not a real test. Your own address is probably trusted by your mail server, and you may be checking an inbox that receives copies by a different route. Instead:

  1. Use a phone on mobile data, not the office Wi-Fi.
  2. Submit with a personal Gmail or Outlook address you do not normally use for the business.
  3. Note the exact time, then check the receiving inbox and its spam or junk folder.
  4. If the form sends the visitor a confirmation, check that arrives too, including in their spam.
  5. Repeat on every form: contact, quote, booking, newsletter. They often send by different routes.

Put a reminder in the calendar to do this once a month. Forms break after hosting moves, plugin updates, domain changes and email provider changes, none of which feel like “website work” at the time.

Why form emails go missing

The site sends mail as you, but is not allowed to. A form usually sends from an address on your domain, like hello@yourbusiness.com.au, but from your web server rather than your email provider. Receiving mail services check DNS records called SPF, DKIM and DMARC to decide whether that server may send for your domain. If it is not listed, the message is junked or silently dropped. Gmail and Yahoo have tightened these checks considerably since 2024.

WordPress is using basic server mail. Out of the box, WordPress hands email to the server’s built-in mailer, which many hosts restrict or which lands in spam. An SMTP plugin connected to a proper sending service, such as your Microsoft 365 or Google Workspace account, or a transactional provider like Postmark, Amazon SES or Resend, fixes most of this.

The recipient address is out of date. Somebody left, a mailbox was renamed, or the form still sends to the developer who built the site. Check the form’s settings, not just what you assume they say.

Spam protection is too aggressive, or not there at all. An over-tuned captcha can reject real people. No protection at all means your inbox fills with junk and real enquiries get missed or filtered.

A script error stops the submit. Sometimes the form never sends at all, because a JavaScript error on the page stops the submit handler. This often only happens on some browsers, or after a theme or plugin update.

Make it fail loudly

The real fix is not just getting email working today. It is making sure you find out the next time it stops.

  • Keep a copy of every submission somewhere other than email: the form plugin’s entries screen, a spreadsheet or your CRM. If email fails, nothing is lost.
  • Send through a service with delivery logs, so you can see whether a message was sent, delivered or bounced.
  • Set up DMARC reports for your domain. They show which servers are sending as you and whether they pass.
  • Monitor the form. A simple scheduled test submission, or an alert when no enquiries arrive for an unusual stretch, catches silent failures.

What it involves

Diagnosing and fixing form delivery is usually a small, defined job: check DNS records, connect a proper sending service, confirm entries are stored, and test across inboxes. It sits squarely in our bug fixes work. From $250 for a defined fix. Most bug jobs land between $250 and $1,200.

SAsk Scipio 2-min brief