Blog / WordPress fixes

WPForms Not Sending Emails? Find Where the Notification Stops

A form can submit successfully while its email notification goes missing. Here is how to find which part of the route needs attention.

By Mansoor Ahmad

Updated September 26, 2026

Practical WordPress guidance

Editorial illustration of a submitted contact form pointing toward an email with a question mark.

If a WPForms form shows a success message but no email turns up, the form and the notification may be having two different days. Do not start by changing every mail setting you can find. First work out where the message stops.

Submit the form yourself with an email address you can check. Use a short, recognizable message such as “Contact form test, Tuesday afternoon.” Then check the expected inbox and spam folder. If the page never confirms the submission, or the form shows an error, deal with that first. An email plugin will not repair a form that did not submit.

Start with the symptom, not the plugin

What happensWhere to look first
The form will not submit or shows an errorForm validation, anti-spam, and the browser or server response. This is not yet an email-delivery test.
The form confirms submission, but no notification arrivesWPForms notification settings, the recipient, and the site’s mail route.
A mailer test email arrives, but the form email does notThe form’s notification, conditional rules, and recipient settings.
The mailer test email also failsThe mailer connection, sending domain, DNS records, or provider logs.

This split sounds obvious, but it saves time. A green confirmation on the page tells you something about the form submission. It does not prove that a message reached your inbox.

Check the WPForms notification itself

Open the form in WPForms and go to Settings → Notifications. Make sure notifications are enabled and that the notification you expect is still there. Look at “Send To Email Address” closely. An old address, a typo, or a smart tag pointing to the wrong place is enough to make the rest of the setup look broken.

If the recipient uses the site admin email smart tag, check the actual address in WordPress Settings → General. It may not be the mailbox you check every day. If there are several notifications, test the one you care about rather than assuming they all use the same recipient.

Also inspect conditional logic, if you use it. A notification that only sends when a particular choice is selected should not fire for every test submission. For a clean test, temporarily use a straightforward recipient and a submission that meets the rule. Put the real rule back once you understand the result.

Keep the visitor’s address out of “From Email”

The “From Email” address should generally belong to the domain your mail service is authorized to send from. Put the visitor’s address in “Reply-To” if you want to answer them from your inbox. Using a visitor’s Gmail or company address as the sender can make the message appear to come from a domain your website cannot authenticate.

That change alone is not a guarantee. It just removes one common mismatch. If a mail service requires a verified sender address, use the address that service has verified, and check its own setup instructions.

Test the mail route separately

WPForms asks WordPress to send the notification. WordPress then relies on the site’s mail setup to pass it on. A mailer such as WP Mail SMTP can connect WordPress to a sending service, but installing the plugin is not the same as finishing its connection.

If you already use a mailer, send a test email from its settings to an inbox you control. If that message fails, check the mailer’s connection and logs before returning to the form. If it succeeds but the WPForms message still does not arrive, revisit the form notification, its conditions, and its recipient. Some mailers also keep email logs, but logging features depend on the tool and plan you use.

If you do not use a mailer, ask your host how WordPress mail is handled and whether it has logs for your test time. An SMTP service is often a more dependable route than an unconfigured server mail function, but the right setup depends on your host and sending provider. Check that the sending domain has the DNS records your provider asks for, commonly SPF and DKIM. A DMARC policy can also affect how receiving services treat mail that fails authentication.

One small distinction matters here: a successful wp_mail() call means WordPress accepted the request for processing. WordPress documentation explicitly says that this does not establish that the recipient received it. To confirm delivery, you need evidence farther along the route, such as a provider log and the receiving inbox.

A short test sequence you can repeat

  • Submit the form once and note the time, recipient, and result on the page.
  • Check the exact recipient inbox, spam folder, and any filters or aliases.
  • Check Settings → Notifications in that form, including “Send To,” “From Email,” “Reply-To,” and conditional rules.
  • Send a separate test email through the configured mailer, if one is installed.
  • If the mailer test fails, inspect its connection, provider logs, and DNS. If it succeeds, return to the WPForms-specific settings.
  • Submit the form again after one change. Confirm the result before making another.

Try not to make five changes and then send one test. You may get an email, but you will not know what fixed it. And if the form handles customer enquiries, do not leave a test recipient or disabled condition in production.

What I tested for this guide

For this guide, a disposable WordPress installation ran WPForms Lite 2.0.2.1 with a two-field contact form and one notification addressed to a reserved test address. Outgoing WordPress mail was intercepted locally so the test could inspect the handoff without contacting any real mailbox. The form submission produced a confirmation and the captured mail request contained the configured recipient and subject. That verifies the local form-to-WordPress-mail handoff in this setup. It says nothing about SMTP, a hosting provider, or inbox delivery on a live site.

That limit is useful, not disappointing. If your own form confirms and a local or provider log shows the notification was handed off, you can stop changing the form fields and investigate delivery. If there is no notification request at all, stay with the WPForms configuration.

When the problem is not just email

A missing notification can hide a larger issue: enquiries might be arriving somewhere nobody checks, or the form may give visitors no clear next step. Fix the delivery first. After that, submit the form as a visitor would and read the confirmation message. Does it tell them what happens next, or does it simply say “Thanks” and leave them guessing?

If you are still deciding whether WPForms is the right tool, I have a separate plain-language look at what WPForms does and where it fits. This page is about diagnosing a notification that is already supposed to work.

Sources and a note on testing

The settings and checks above follow WPForms’ email notification troubleshooting guide, its notification setup documentation, WP Mail SMTP’s test email instructions, and the WordPress documentation for wp_mail(). Menu labels and mailer features can change, so check the current version on your own site.

Test note: the isolated form test did not send an email to a real inbox. It verified only that WPForms submitted a notification to the local WordPress mail hook.