WordPress ·

WordPress Contact Form Emails Not Arriving? How to Fix It

By Manu Mathew, Technical Lead Engineer · Published 24 October 2026 · Last updated 24 October 2026

A customer tells you they filled in your website’s contact form last week and never heard back. You check your inbox and there’s nothing. The form said “Thank you”, so where did the message go?

This is one of the most common WordPress problems I see, and it costs real enquiries. Most of the time the form works perfectly. The trouble is how WordPress contact form emails travel from your site to your inbox.

Quick answer

WordPress contact form emails usually go missing because the site sends mail straight from the web server, without proof that it’s allowed to send for your domain. Inbox providers treat that mail as suspicious. Send it through an authenticated mail service using SMTP, set up SPF, DKIM and DMARC, and keep a saved copy of every enquiry.

Why do WordPress contact form emails go missing?

Because a form plugin hands the message to WordPress, and WordPress hands it to the server’s basic mail function, which most inboxes no longer trust.

WordPress sends email through a function called wp_mail. By default it passes the message to PHP’s built-in mail, so the web server itself becomes the sender. That causes a few problems:

What goes wrongWhat you see
The server isn’t listed as an approved sender for your domainEmails land in spam or vanish
The “From” address uses a domain the server can’t prove it ownsGmail or Outlook rejects the message
The host limits or blocks outgoing mail from websitesNothing is sent at all
The form sends “from” the visitor’s own addressThe message fails checks and is filtered out
Two isometric servers: a plain one dropping an envelope into an empty tray, a shielded one delivering to a blue-lit tray

The last one surprises people. Many forms are set up to send the enquiry “from” the person who filled it in, which makes replying easy. But your website can’t prove it’s allowed to send as someone’s Gmail address, so receiving servers treat it as a fake.

How can I check whether my contact form is sending email?

Send yourself a test enquiry, then check the inbox, the spam folder and the form’s own records.

A simple test routine:

  1. Fill in the form yourself, using an email address that isn’t on your own domain, such as a personal Gmail account.
  2. Check the spam and promotions folders as well as the inbox, on both the sending and the receiving side.
  3. Look for a saved entry. Many form plugins can store each submission in the WordPress dashboard. If the entry is there but the email isn’t, the form works and the email is the problem.
  4. Check the email headers of any test that does arrive. Most mail apps have a “show original” option that shows whether SPF, DKIM and DMARC passed.
  5. Repeat after every change, so you know which fix made the difference.

If nothing arrives anywhere and there’s no saved entry, the form itself may be broken, for example by a plugin conflict or a caching rule. That needs a different kind of fix.

What is SMTP, and does WordPress need it?

SMTP is the standard way mail is handed from one server to another; for a WordPress site, it means sending through a proper, signed-in mail account.

Instead of the web server sending mail on its own, an SMTP plugin makes WordPress sign in to a mail service and send through it. That might be the mailbox that comes with your domain, your business email provider, or a transactional email service built for website mail.

For most small business sites, this one change fixes most missing emails. It also gives you a sending log in many cases, so you can see what was sent and when.

A few practical points:

What are SPF, DKIM and DMARC?

They are three DNS records that tell inbox providers which services may send email for your domain and how to check it.

These records matter more than they used to. Google’s email sender guidelines require everyone sending to Gmail accounts to set up SPF or DKIM, and larger senders to set up all three. Google recommends all three for every domain.

One caution: a domain should have only one SPF record. If you add a new mail service, include it in the existing record rather than creating a second one, or both can fail.

Should enquiries be saved on the website as well as emailed?

Yes. A saved copy means that even if an email fails, the enquiry isn’t lost.

Email is a delivery method, not a filing system. I’d always switch on the form plugin’s option to store entries in the dashboard, where it offers one.

Check that only the people who need them can see the entries, because they contain personal details. Delete old ones on a schedule you’re comfortable with.

Some owners also send a copy to a second address, such as a shared team inbox. That helps when one person is on leave, but it doesn’t replace fixing the delivery itself.

How do I fix contact form email for a client?

I start by finding where the message stops, then fix sending, authentication and record-keeping in that order.

My usual order of work:

Contact form tests also belong in regular upkeep. My monthly WordPress care checklist includes sending a test enquiry, because mail can break quietly after a plugin update or a hosting change.

Frequently asked questions

Why do my WordPress emails go to spam?

Usually because the messages aren’t authenticated for your domain. The server sending them isn’t listed in your SPF record, there’s no DKIM signature, or the “From” address uses a domain the site can’t prove it owns. Sending through an authenticated SMTP service with SPF, DKIM and DMARC in place normally solves it.

Is a free SMTP plugin enough?

Often, yes. The plugin is mostly a connector between WordPress and a mail service, and many free ones work well. What matters more is the mail service behind it, correct DNS records, and a plugin that’s actively maintained and tested with your version of WordPress.

Can I use my Gmail address as the form’s “From” address?

It’s better not to. Your website can’t prove it’s allowed to send as a Gmail address, so those messages are likely to be filtered or rejected. Use an address on your own domain as the sender, and you can still have the enquiries delivered to your Gmail inbox.

Why did my contact form stop working after moving hosts?

The new server may block or limit outgoing mail, or your SPF record may still list the old host. Mail settings and DNS records often get missed during a move. Send a test enquiry straight after any hosting change and check that SPF, DKIM and SMTP settings match the new set-up.

Does WooCommerce have the same email problem?

Yes. Order confirmations, password resets and shop notifications all go through the same WordPress mail function. If contact form emails are unreliable, those messages usually are too, so fixing sending for the whole site helps your customers as well as your enquiries.

Need help with missing website enquiries?

Whether your contact form has gone quiet or you’d like a wider check of your site, I’m happy to talk it through. The WordPress websites page covers the kinds of work I take on.

You can reach me through the contact section or email me at manu@manu.co.in. Tell me a little about your business and the site, and we’ll go from there.

Back to the blog