Fix It Yourself

My WordPress Contact Form Stopped Sending Emails (The Usual Suspects)

Here’s a nasty one: the contact form looks fine, visitors get a “thanks, message sent” — and nothing ever reaches your inbox. Businesses lose leads for weeks before noticing. The cause is almost always the same.

The real problem: WordPress email isn’t real email

By default, WordPress sends mail through the web server’s built-in PHP mail function — with no authentication at all. To Gmail and Outlook, that looks exactly like spam, so they bin it or reject it silently. Your form is working; the delivery is failing.

The fix: send through SMTP

  1. Install an SMTP plugin (WP Mail SMTP is the standard).
  2. Connect it to a real mailbox — your domain email via your host, or a transactional service like Brevo or Mailgun.
  3. Send the test email from the plugin’s settings page.

This one change fixes the overwhelming majority of “form not sending” cases.

Also check these

  • The recipient address — in your form settings. It’s surprisingly common to find an old employee’s email in there.
  • Spam folder and quarantine — especially with Microsoft 365, check the quarantine portal, not just Junk.
  • Domain alignment — sending “from” your own domain? Make sure your domain has SPF and DKIM records set up. Your host or IT person can add these in minutes.
  • Form spam filters — an over-aggressive reCAPTCHA or honeypot can silently discard legitimate messages.

Test it monthly

Email delivery rots quietly: hosts change servers, DNS records get edited, plugins update. Send yourself a test through the form once a month — or have a maintenance plan that does it for you. A lost lead costs more than a year of maintenance.

Rather have a hero handle it?

WP Hero keeps your WordPress site updated, backed up and monitored — with unlimited small fixes included. Flat fee, no hourly billing, from R499/month.

See plans How it works

Keep reading