wordpress contact form not sending emails

WordPress Contact Form Not Sending Emails? Here’s How to Fix It

A contact form that appears to work but doesn’t actually deliver enquiries is one of the more frustrating WordPress problems – particularly because you may not realise anything is wrong.

A visitor completes your form, clicks Send, sees a reassuring “Thank you” or “Message sent” confirmation and assumes you’ve received their enquiry.

Meanwhile, nothing arrives in your inbox.

If your WordPress contact form isn’t sending emails, the good news is that the form itself may not be broken. In many cases, the problem is with the way WordPress sends email, the form’s email settings, your hosting configuration or the way the receiving mail server treats the message.

Below are the most useful things to check, starting with the easy ones.

Want us to check it for you?

If you’d rather not spend your time troubleshooting WordPress email, Web Medic can test your contact form, find out why messages aren’t arriving and fix the problem.

Tell Us What’s Wrong

First, Is the Contact Form Actually Submitting?

This is an important distinction.

Complete the form yourself using realistic information and see what happens when you press the submit button.

If you receive a confirmation such as “Your message has been sent successfully”, the form has probably processed the submission. The problem may therefore be with what happens to the email afterwards.

If the form displays an error, continually spins, does nothing when you press Send or tells you that the message couldn’t be sent, you’re dealing with a different type of problem.

That could be caused by a JavaScript error, plugin conflict, spam protection, reCAPTCHA configuration, server issue or a problem with the form itself.

Knowing which of these is happening considerably narrows down the search.

1. Check Your Spam or Junk Folder

Start with the obvious one.

Check the spam or junk folder of the email account that should receive your website enquiries. If you use Microsoft 365, Gmail or another hosted email service, it’s also worth checking its webmail interface rather than relying entirely on Outlook, Apple Mail or another email program.

Search for the email address, website domain or subject line used by your contact form.

If you find the missing messages in spam, you haven’t necessarily solved the underlying problem. It suggests that the emails are being sent but their authenticity or reputation is causing them to be treated as suspicious.

That leads us to some of the checks below.

2. Check Where the Form Is Sending Enquiries

It sounds ridiculously simple, but check the recipient address configured in the form.

WordPress websites can survive for years while staff change, email accounts are replaced and businesses move to different domains.

Your form may still be faithfully sending every enquiry to an email address nobody checks anymore.

Depending on your form plugin, look for a setting labelled something like:

  • To
  • Recipient
  • Send To Email Address
  • Admin Email

Check the spelling carefully and make sure you can receive ordinary emails at that address.

You can also temporarily change the recipient to another email address and submit another test. If the message arrives there, you’ve immediately learned something useful.

3. Check the “From” Address

This is one of the most common causes of WordPress email delivery problems.

A contact form usually has at least two relevant addresses:

From: the address the website says is sending the email.

Reply-To: the visitor’s email address, so pressing Reply sends your response to them.

These aren’t necessarily supposed to be the same thing.

A common mistake is configuring the visitor’s email address as the From address.

For example, somebody enters:

john@gmail.com

and your website then attempts to send an email claiming it came from john@gmail.com.

Modern email systems are increasingly suspicious of this because your web server clearly isn’t one of Google’s authorised servers.

A much better configuration is normally to send the notification from an address associated with your own domain, for example:

website@yourdomain.co.uk

The visitor’s address can then be used as the Reply-To address.

The precise configuration depends on the contact form plugin and email setup, but this relatively small detail can make a substantial difference to deliverability.
How a WordPress contact form sends an email

4. WordPress May Not Be Sending Email Reliably

Here’s where things become slightly more technical.

By default, many WordPress installations send messages using the web server’s PHP mail functionality.

That can work perfectly well – until it doesn’t.

Web hosting servers are primarily there to serve websites. They aren’t necessarily configured to behave like properly authenticated business email servers.

This can result in contact form notifications being delayed, classified as spam or rejected altogether.

And contact forms aren’t the only thing affected.

WordPress may also need to send:

  • password reset emails
  • new user notifications
  • WooCommerce order emails
  • account notifications
  • security alerts
  • website administrator messages

If several types of WordPress email aren’t arriving, that’s a strong indication that the problem extends beyond your contact form.

5. Do You Need SMTP?

You will frequently see SMTP recommended as the solution to WordPress email problems.

SMTP stands for Simple Mail Transfer Protocol. Fortunately, you don’t need to understand much more than that to appreciate what it does.

Instead of asking your web server to send emails directly, WordPress can be configured to send them through a proper authenticated email service.

Think of it as giving WordPress a more reliable postal service.

There are several WordPress SMTP plugins and numerous email services that can be used for this. However, installing an SMTP plugin isn’t by itself a guarantee that the problem is solved.

It still needs to be configured correctly, authenticated and tested.

If your website contains important contact, quotation, booking or ecommerce forms, reliable email delivery is worth getting right.

6. SPF, DKIM and DMARC Can Affect Whether Emails Arrive

If you’ve made it this far, we’re moving beyond the enjoyable part of owning a website.

SPF, DKIM and DMARC are email authentication technologies that help receiving mail servers decide whether a message really comes from the domain it claims to come from.

They have become increasingly important as major email providers have tightened their requirements to combat spam and impersonation.

You don’t need to become an expert in them just because you own a WordPress website.

What matters is that incorrectly configured DNS and email authentication can result in legitimate website messages being rejected, quarantined or sent to spam.

This can be particularly relevant if:

  • your website has recently moved hosting company
  • your email provider has changed
  • DNS records have been changed
  • you’ve moved to Microsoft 365 or Google Workspace
  • an SMTP service has recently been added
  • messages arrive at some email providers but not others

At this stage, changing random DNS records you’ve found in an online tutorial isn’t something we’d recommend unless you’re confident you understand what they’re doing.

7. Check Spam Protection and reCAPTCHA

Sometimes the email isn’t missing because it failed to arrive.

The form submission was blocked before an email was ever created.

Contact forms commonly use reCAPTCHA, honeypots or other anti-spam systems to stop automated submissions.

These are extremely useful, but incorrect configuration or a change to the service can occasionally interfere with genuine submissions.

If your form:

  • suddenly stopped working
  • produces an error when submitted
  • hangs after pressing Send
  • works for some users but not others

then spam protection should be included in your troubleshooting.

Temporarily disabling security features isn’t always a good idea on a live website, so this can be another point where professional troubleshooting is preferable to randomly switching things off.

8. Did the Contact Form Suddenly Stop Sending Emails?

If the form previously worked and suddenly stopped, ask what changed.

Even something that appears unrelated can provide the clue.

Has the website recently had:

  • a WordPress update?
  • a plugin update?
  • a PHP version change?
  • a hosting migration?
  • an SSL change?
  • a new security plugin?
  • a change of email provider?
  • DNS changes?
  • a new caching or optimisation system?

A plugin conflict or server change can also cause a previously reliable form to stop behaving correctly.

The timing of the problem is often one of the fastest ways of identifying the cause.

9. Contact Form 7 Says the Message Was Sent, But No Email Arrives

This deserves a particular mention because Contact Form 7 is so widely used.

If Contact Form 7 displays its successful submission message but nothing arrives, check the Mail configuration for the form.

Pay particular attention to:

  • the To address
  • the From address
  • the Reply-To header
  • any configuration warnings
  • whether other WordPress emails are being delivered

If the configuration looks correct, the next step is usually to investigate WordPress email delivery itself.

Simply replacing Contact Form 7 with another form plugin may not solve anything. If WordPress or the server isn’t delivering email correctly, your shiny new form can inherit exactly the same problem.

10. Test More Than Once

Once you’ve made a change, don’t assume one successful test means everything is fixed.

Submit several tests.

Where possible, use different sender addresses and check delivery to different receiving services.

For example, you might discover that messages arrive successfully at one domain but disappear when sent to a Gmail or Microsoft 365 account.

Also check:

  • how quickly the email arrives
  • whether it lands in the inbox or spam
  • whether the sender information looks correct
  • whether Reply goes to the person who submitted the form
  • whether all the form fields appear correctly in the notification

The objective isn’t simply to make one test email appear.

It’s to make the contact form reliably usable by your customers.

How Long Has Your Contact Form Been Broken?

This is the question that often gets overlooked.

You discovered today that your contact form isn’t delivering emails.

But when did it actually stop?

Yesterday?

Last Tuesday?

Three months ago?

If your form plugin stores submissions in the WordPress database, check whether there are entries that never reached you by email.

Some websites also have email logs that can show messages WordPress attempted to send.

Depending on the form and website configuration, it may therefore be possible to recover enquiries you didn’t know you’d received.

Unfortunately, not every contact form stores submissions. Some simply generate an email when the form is submitted.

That’s why, after fixing the immediate problem, it’s worth considering whether your important forms should also retain a secure record of submissions.

If your contact form has stopped working, don’t just fix today’s test. Find out whether you’ve missed genuine enquiries while it was broken.

Should You Fix It Yourself or Get Someone to Look at It?

If the problem is a typo in the recipient address or messages sitting in your spam folder, you’ve probably just fixed it yourself.

Excellent. We’d rather you spent your money on something more interesting.

But if you’ve reached the stage of SMTP configuration, DNS records, SPF, DKIM, DMARC, PHP mail, server logs or conflicting plugins, troubleshooting can quickly consume more time than the original problem deserves.

That’s exactly the sort of job Web Medic is here for.

We can check the form, identify whether the problem is with WordPress, the plugin, your hosting, email configuration or DNS, and get your enquiries arriving where they’re supposed to.

And if the problem turns out to be something unusual?

That’s fine too. We fix websites.

WordPress Contact Form Problems – Frequently Asked Questions

Why does my WordPress contact form say “sent” but I don't receive an email?

The successful message generally means the form has processed the submission; it doesn’t necessarily prove that the notification email reached your inbox. The email could subsequently be rejected, filtered as spam or fail because of the website’s email configuration.

Why is Contact Form 7 not sending emails?

Common causes include incorrect Mail settings, an unsuitable From address, WordPress email delivery problems, hosting configuration, spam filtering and email authentication issues. The exact cause needs to be diagnosed rather than assuming Contact Form 7 itself is faulty.

Will installing an SMTP plugin fix my WordPress contact form?

It often improves WordPress email reliability, but simply installing a plugin isn’t enough. The SMTP service must be correctly configured and authenticated, and the contact form should be tested afterwards.

Why are WordPress emails going to spam?

Receiving servers assess numerous signals including the sending server, domain authentication, sender address and message content. Incorrect SPF, DKIM or DMARC configuration and sending mail directly from some web servers can contribute to legitimate messages being treated as spam.

Can I recover contact form enquiries that weren't emailed to me?

Possibly. Some WordPress form plugins store submissions in the website database, while some websites have mail logging enabled. If neither applies, previous submissions may not have been retained.

Can Web Medic fix my WordPress contact form?

Yes. Whether the problem is the form itself, WordPress, a plugin conflict, SMTP, hosting, DNS or your email configuration, we can find the cause and fix it.

Need Your WordPress Contact Form Fixed?

A broken contact form can mean lost enquiries, missed bookings and potential customers who assume you’ve simply ignored them.

If yours isn’t working properly, send Web Medic your website address and tell us what’s happening.

We’ll take a look, work out what’s wrong and get it working again.