Troubleshooting

WordPress Form Not Sending Email — How to Fix It

The form says "sent." The inbox is empty. Here's why — and the fix that actually holds.

Quick Answer: If a WordPress form submits successfully but the email never arrives, the cause is almost always WordPress's default mail() function, which isn't properly authenticated and gets silently filtered by most mail providers. Install an SMTP plugin (like WP Mail SMTP or FluentSMTP), connect it to an authenticated provider — Gmail, Google Workspace, or your host's SMTP — and send a test email to confirm delivery. Check spam folders and the form plugin's notification settings too, since either can independently block delivery even after SMTP is fixed.

Losing Leads Because Your Form Isn't Delivering?

Tell us what's happening and we'll help you fix delivery — or take it off your plate entirely going forward.

Why the Form "Works" But No Email Arrives

This is one of the most common — and most costly — WordPress problems, because there's no visible error. The form validates, submits, and shows a success message. The actual failure happens after that, invisibly, in the email delivery step. WordPress's built-in mail() function sends email without proper authentication (no SPF, DKIM, or verified sending domain), which most modern mail providers treat as a spam signal and silently drop or filter — meaning the lead was captured, but the notification email never had a real chance of arriving.

Step 1: Check Spam and Promotions Folders First

Before assuming anything is broken, check the spam and promotions folders of the destination inbox. If the email is landing there, delivery is technically working but flagged as untrustworthy — which still points to the same underlying fix below, since a properly authenticated SMTP connection resolves both a missing email and a spam-filtered one.

Step 2: Install and Configure an SMTP Plugin

This is the real, permanent fix. Install a free SMTP plugin — WP Mail SMTP and FluentSMTP are both widely used — and connect it to an actual authenticated email provider: Gmail or Google Workspace (via OAuth), your hosting provider's SMTP credentials, or a transactional email service. This replaces WordPress's unauthenticated default mail function entirely, so outgoing email is signed and verified the way any legitimate business email is, dramatically improving delivery.

Step 3: Send a Test Email to Confirm the Connection

Nearly every SMTP plugin includes a built-in test-email feature once configured. Use it before assuming the form itself is still the problem — if the test email fails, the issue is in the SMTP setup (wrong credentials, wrong port, unverified sending domain), not the form plugin.

Step 4: Check the Form Plugin's Own Notification Settings

If SMTP is confirmed working but a specific form still isn't delivering, check that form's own notification settings for a typo in the destination address, a "From" address using a domain that isn't authenticated to send (which can trigger rejection even with SMTP configured), or a notification that was accidentally toggled off during a previous edit.

Why This Is Worth Fixing Properly, Not Just Once

A form that silently fails to deliver isn't a cosmetic bug — it's lost leads with no record that they were ever lost, since the visitor sees a success message and has no reason to follow up. Fixing SMTP once, correctly, with a real authenticated provider closes this gap permanently, rather than leaving it as a recurring risk that resurfaces after every hosting migration or plugin update.

Related Troubleshooting Guides

Martin Van Den Boogerd
Martin Van Den Boogerd
Founder & Owner, CriticalWP — background in cybersecurity and municipal government infrastructure
More about Martin →

Common Questions

WordPress's default mail() function is unreliable on most hosting because it isn't properly authenticated, so many mail providers silently reject or spam-filter it. The form itself works fine — it's the underlying email delivery that's failing, which is why the submission appears successful with no visible error.
Yes, in most cases. Installing an SMTP plugin (such as WP Mail SMTP or FluentSMTP) and connecting it to an authenticated email service — Gmail, Google Workspace, SendGrid, or your hosting provider's SMTP — replaces WordPress's unreliable default mail function with one that's properly authenticated and far less likely to be filtered.
Yes, always check spam and promotions folders before troubleshooting further — WordPress's default mail function frequently gets flagged, so the email may actually be arriving, just not to the inbox you're checking.
Yes. Check the form plugin's notification settings for a typo in the destination email address, a "From" address that doesn't match a verified domain, or a notification that was accidentally disabled. This is worth checking even after fixing SMTP, since a plugin-level misconfiguration will still block delivery.
Most SMTP plugins include a built-in "send test email" feature after setup — use it to confirm the connection works before assuming the form itself is the problem. If the test email fails, the issue is in the SMTP configuration, not the form.

Don't let broken forms cost you leads silently.

Managed WordPress operations includes verified email deliverability as part of standard setup — not something you find out is broken after losing leads.