Website support, maintenance and fixes for UK businessesCall 0208 088 8371info@websupportservices.co.uk

HomeWordPress errorsWordPress Not Sending Emails: How to Fix It

WordPress Not Sending Emails: How to Fix It

If WordPress emails are not arriving, the problem may be inside WordPress, at the web server or further along the mail delivery chain. The same fault can affect password resets, contact form notifications and order emails, so it is worth testing methodically rather than changing several settings at once.

The message you might see

WordPress is not sending emails, or they land in spam

Different wording, or a file path in the message? Paste it into our free error finder to see which plugin or theme it comes from.

What it means when WordPress is not sending emails

WordPress sends application email through wp_mail(). By default, that depends on the mail facilities available to PHP and the server, unless a plugin or service routes mail through authenticated SMTP or an email API.

The key distinction is whether WordPress failed to hand the message to its mail transport, or whether the transport accepted it and the message was later rejected, delayed or filtered. WordPress documentation notes that a successful wp_mail() result does not prove the message reached the recipient.

If some messages arrive but contact form messages do not, check the form configuration and sender address. If no WordPress email arrives, check the site-wide mail transport and hosting environment first.

Common causes of WordPress emails going to spam or disappearing

A common failure is unauthenticated or poorly aligned outgoing mail. A site may send with a From address that does not belong to its own domain, while SPF, DKIM or DMARC records are missing or incorrect. Receiving systems can then treat the message as suspicious even though WordPress reports no error.

  • Server mail is disabled or restricted. Some hosts limit PHP mail or require an authenticated mail service.
  • The sender is wrong. A form may use the visitor's email address in From instead of using an address on your website domain and putting the visitor address in Reply-To.
  • SMTP or API credentials have changed. Passwords, API keys, ports or encryption settings can become invalid.
  • The recipient filters the message. Check spam, quarantine rules and forwarding.
  • DNS authentication is incomplete. SPF, DKIM and DMARC must describe the systems that actually send mail for the domain.

Do not add a second SPF record as a quick fix. Authorised senders should be combined correctly within one SPF policy.

How to fix WordPress email safely

Work from the least invasive checks to the more technical ones. Before editing site files, plugin configuration or the database, take a full backup of both files and database.

  1. Test more than one email type. Try a password reset and, if relevant, a form notification. Note which messages fail and which recipient domains are affected.
  2. Check the sender and recipient settings. Use a From address on your own domain. For contact forms, keep the visitor's address in Reply-To rather than pretending the message originated from their domain.
  3. Check the mail transport. If the site relies on PHP mail and delivery is unreliable, configure a reputable, maintained SMTP or email API integration with credentials supplied by your mail provider. If one is already configured, recheck the host, port, encryption method and credentials.
  4. Check SPF, DKIM and DMARC. Compare the DNS records with the instructions from the service that sends your mail. Make sure the visible From domain aligns with the authenticated sending domain where required.
  5. Check evidence at both ends. Review any mail logs available from the host or sending provider, then check the recipient's spam or quarantine log. A message accepted by WordPress but rejected later needs a deliverability fix, not a WordPress code change.

For a deeper mail setup, see our email deliverability service.

When to stop troubleshooting and get help

Stop changing settings if email stopped after a migration, DNS change or mail provider switch and you cannot identify which system is authorised to send. Also get help when server logs show repeated transport failures or several systems send mail for the same domain.

Randomly changing MX, SPF, DKIM or DMARC records can disrupt working mail as well as website notifications.

For a one-off fault, our Emergency Fix is £249 per incident with a response within 2 working hours. Care plans start from £59 a month if you want ongoing WordPress maintenance and support.

Common questions

Answers to the questions we hear most about this.

Why does WordPress say an email was sent when I never received it?

WordPress can report success when its mail function has handed the message to the configured transport. That does not confirm final delivery. The receiving server may still reject, defer, quarantine or classify it as spam.

Should I use SMTP for WordPress email?

Authenticated SMTP or a reputable email API is often more reliable than unauthenticated server mail because the sending service can authenticate the domain and provide delivery logs. The exact setup depends on your mail provider.

Why do WordPress contact form emails go to spam?

Common causes include a From address that does not match your domain, missing or incorrect SPF, DKIM or DMARC authentication, poor sender reputation, or recipient filtering. Check the form headers and the sending service before changing WordPress core files.

Site down or showing an error?

Call us now. Emergency Fix is £149 with a response within 2 working hours, and no fix means no fee.

Get website support