WordPress stops sending emails because it uses the server’s basic PHP mail function, which many hosts block and most inboxes treat as spam. The reliable fix is to send email through SMTP with an SMTP plugin (such as WP Mail SMTP or FluentSMTP) connected to a real mail service, and to add SPF, DKIM and DMARC records for your domain.
- “Sent” from WordPress does not mean delivered. Hosting mail often never reaches the inbox.
- SMTP sends mail through an authenticated mail service, which inboxes trust.
- SPF, DKIM and DMARC DNS records prove the email really comes from your domain.
- Always send a test email and check spam folders on Gmail and Outlook.
Why is my WordPress site not sending emails?
Picture a dental clinic whose booking form looks perfect. Patients fill it in, see “Thank you”, and leave. Three weeks later the receptionist realises not one booking email arrived. The form worked. The email did not.
By default WordPress hands email to PHP’s mail function on your hosting server. Gmail, Outlook and Yahoo see a message that claims to be from your domain but was sent by an unauthenticated shared server, so they reject it or drop it in spam. Some hosts disable PHP mail completely to stop spam. The usual causes are:
- PHP mail disabled or rate-limited by the host.
- No SPF, DKIM or DMARC records on the domain.
- The “From” address uses a different domain (for example a Gmail address) than the website.
- A form plugin with a wrong notification address.
- The domain or server IP is on a spam blacklist.
How do you fix WordPress email with SMTP?
- Pick a sending service. Options include your business email provider (Google Workspace or Microsoft 365), a transactional service such as Brevo, SMTP2GO, Mailgun or Amazon SES, or your host’s authenticated SMTP mailbox.
- Install an SMTP plugin. WP Mail SMTP and FluentSMTP are both free and popular.
- Set the From email to an address on your own domain, for example hello@yourdomain.com, and force it for all emails.
- Connect the mailer. Use the service’s API option where available. It is more reliable than plain SMTP ports, which some hosts block.
- Add DNS records. The service shows the SPF and DKIM records to add at your domain registrar or Cloudflare. Add a basic DMARC record too.
- Send a test email from the plugin to Gmail and Outlook. Check the inbox and spam folder.
- Turn on email logging so you can see every message the site sends and whether it failed.
Share the error or a screenshot and get a free diagnosis. Most WordPress errors are fixed the same day, with a backup taken first.
What are SPF, DKIM and DMARC in plain English?
| Record | What it does | Example idea |
|---|---|---|
| SPF | Lists the servers allowed to send email for your domain | “Only Google and Brevo may send as us” |
| DKIM | Adds a digital signature that proves the email was not changed | A tamper seal on the envelope |
| DMARC | Tells inboxes what to do when SPF or DKIM fails, and sends you reports | “If it is not signed, put it in spam” |
Gmail and Yahoo require proper authentication for bulk senders, and even small sites see much better delivery once these records are in place.
How do you fix contact form emails specifically?
- In the form plugin (WPForms, Contact Form 7, Elementor forms), set the From email to your domain address and put the visitor’s email in Reply-To instead.
- Check the “Send to” address for typos.
- Store form entries in the database as a backup, so a failed email never means a lost lead.
- Test after every SMTP or DNS change.
What if emails still go to spam?
Check your domain on a blacklist lookup, make sure DKIM shows “pass” in the email headers (Gmail: Show original), avoid spammy subject lines, and do not send newsletters from the same WordPress site. Use a proper email marketing service for bulk mail so your transactional emails keep a clean reputation.
More fixes for other problems are in common WordPress errors and how to fix them.
Frequently asked questions
Why do WordPress emails go to spam?
Because they are sent through the hosting server without authentication. Send through SMTP and add SPF, DKIM and DMARC records so inboxes trust your domain.
Is WP Mail SMTP free?
Yes, the core plugin is free on wordpress.org. Paid versions add extras such as detailed email logs and alerts.
Can I use Gmail SMTP for my WordPress site?
Yes, with Google Workspace or the Gmail API option in an SMTP plugin. For many emails, a transactional service such as Brevo or Amazon SES is more reliable.
Why do contact form emails arrive for some messages and not others?
Often the From address is set to the visitor’s email. Inboxes reject it because your server is not allowed to send for that domain. Use your own address as From and the visitor in Reply-To.
How do I test if WordPress can send email?
Use the test email feature in your SMTP plugin, or submit your own contact form, then check inbox and spam on Gmail and Outlook.
Sources
Share the error or a screenshot and get a free diagnosis. Most WordPress errors are fixed the same day, with a backup taken first.
More WordPress guides
Rather have an expert run your WordPress site?
Tanvir H is a Bangladesh-based WordPress and Elementor web designer with 7+ years of experience, 650+ projects and a 4.9 client rating. New websites, redesigns, fixes, speed, security and SEO, handled by one expert who explains everything in plain English and works with clients worldwide.







