WordPress cannot send email: fixing it properly

WordPress sends mail with PHP's built-in mail function by default. It works, but the message often arrives with poor authentication and lands in spam, or is rejected outright – particularly when the site sends "from" a visitor's address.

The right fix: SMTP

Install an SMTP plugin and have WordPress send through a real mailbox, exactly as an email client would. Create a mailbox on your domain in cPanel – something like noreply@yourdomain – and give the plugin its details. Mail then comes from an authenticated address that your SPF record already covers.

Always send from your own domain

Contact form plugins often default to sending "from" whatever address the visitor typed. That fails authentication immediately, because our server is not permitted to send as somebody else's domain, and it is a frequent cause of contact forms silently not arriving.

Set the From address to your own, and put the visitor's address in Reply-To. You still just hit reply; the mail actually delivers.

Checking it works

Most SMTP plugins include a test. Send to an address on a different provider, not to another mailbox on the same domain – local delivery can succeed while external delivery fails.

If mail still does not arrive

  • Check the spam folder before anything else
  • Confirm SPF and DKIM are in place – see SPF, DKIM and DMARC explained
  • Check the mailbox has not hit its quota
  • Look at whether the site is sending in volume; bulk mail from shared hosting is a delivery problem in itself
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Why WP-Cron is disabled on our servers, and what replaces it

WordPress has its own scheduling system, WP-Cron, which runs scheduled tasks – publishing...

Object caching, and why Redis is not available here

WordPress can store the results of database queries in memory so that repeated requests do not...

Moving an existing WordPress site to us

A move goes wrong in predictable ways. Doing it in this order avoids all of them. 1. Set the...

The white screen of death: how to diagnose it

A completely blank page means PHP stopped part-way through and had nothing to show. The page...

Locked out of wp-admin: how to get back in

There are several routes back in depending on what is wrong. All of them need cPanel access, so...