A WordPress form not sending email is one of the most common problems on any site, and it is almost never the form’s fault. The form hands the email to WordPress, and WordPress hands it to your web host’s mail, which many inboxes do not trust. This guide is ideal for beginners and for teams who have stopped getting form notifications. We show how to check the entry, fix the From address and route mail through a real mail service, in about 20 minutes.
The short version
- Check Entries first: if the entry is there, the form worked.
- Use a From address on your own domain, never a Gmail or Outlook one.
- Check spam folders, and ask the recipient to mark the email as safe.
- Send WordPress email through an SMTP service for reliable delivery.
Is it the form or the email?
Open Entries in Echo Forms. If the entry is there, the form did its job and the problem is only delivery. Echo saves every entry on your site before any email is sent, so a missing email never means a missing lead. If the entry is not there, the form was not sent at all: check for an error message, a required field or a spam check.
Why do form notifications not arrive?
Usually one of these four reasons:
| Cause | How it shows | The fix |
|---|---|---|
| A From address like name@gmail.com | Mail goes to spam or vanishes | Use an address on your own domain |
| Your host’s PHP mail | Some emails arrive, some never do | Send through an SMTP service |
| No SPF or DKIM records | Mail lands in spam | Add the records your mail service gives you |
| A typo in Send to | Nobody gets anything | Check the address on the notification |
Mail services check whether the server sending an email is allowed to send for that domain. An email claiming to be from a Gmail address while coming from your website fails that check, which is why it is the first thing sent to spam.
How to fix a WordPress form not sending email, step by step
- Send a test entry and confirm it appears under Entries.
- Open the form’s Settings > Notifications and actions and check Send to for typos.
- Set From email to an address on your own domain, such as hello@yourbusiness.com.
- Set Reply-To to the person’s email with a merge tag, so replies still reach them.
- Install an SMTP plugin and connect a mail service, such as your email provider or a sending service.
- Add the SPF and DKIM records that service gives you to your domain’s DNS.
- Send another test entry and check both the inbox and spam.
The emails for each entry guide explains From, Reply-To and merge tags in Echo Forms, and our form confirmation email guide covers what the customer’s copy should say. Most sites need 10 minutes for steps 1 to 4, and 10 more for SMTP.
What does WordPress SMTP do?
It sends email through a proper mail service instead of your web host’s basic mail function. That service signs each email so inboxes can trust it, and most keep a log, so you can see whether each message was delivered. Google’s own sender guidelines list what large inboxes expect, including SPF and DKIM. We are building our own SMTP plugin, Spout SMTP, which logs every message, and any reputable SMTP plugin will fix most cases today.
Should emails going to spam worry you?
A little, because a lead who never gets your confirmation may think you ignored them. Fix the From address and SMTP first, which solves the problem for most sites within 1 day once DNS records spread. Then keep an eye on the first 10 notifications over the next 7 days. If one still lands in spam, mark it as not spam, so the inbox learns.
A WordPress form not sending email is fixable in about 20 minutes. Start by confirming the entry, fix the From address, then move mail to SMTP, and your notifications will arrive every time.
Entries are never lost
Every Echo Forms entry is saved on your site before any email goes out, so a missed email never means a missed lead.


