Email trouble on a WordPress site rarely announces itself. A customer rings to ask why they never got their order confirmation. A staff member cannot reset their password. You notice the enquiry inbox has been quiet for three weeks and wonder whether business is slow or the form is broken. By the time anyone notices, the problem has usually been running for a while.
If you want to try the fix yourself, our article on why WordPress stops sending emails and how to switch to SMTP walks through it step by step. This page is for when you would rather hand it to someone: the plugin is installed but mail still vanishes, the DNS side is a mystery, a store’s order emails are at stake, or you simply do not have the time to test every message type. It is one part of our WordPress errors and fixes guide.
Why “install an SMTP plugin” is often not the end of it
Most owners who contact us have already tried the obvious step. They installed an SMTP plugin, entered some settings, clicked “send test” and got a success message. Yet some emails still do not arrive. There are a few reasons that happens.
The test went to the wrong kind of address. A test sent to your own mailbox on the same domain can be delivered internally and never face the checks that Gmail, Outlook or a customer’s company server apply. It proves the plugin can hand over a message, not that strangers will receive it.
The domain’s DNS does not authorise the sender. Receiving servers look up your domain’s SPF record to see which services may send for it, check the DKIM signature on the message, and read your DMARC policy to decide what to do when those checks fail. If the site sends through a service that is not listed in SPF, or the DKIM key was never published, the mail can be rejected or filed as spam even though your plugin reports success. Large mailbox providers have become much stricter about this in recent years.
Two plugins are fighting over outgoing mail. WordPress sends mail through its wp_mail() function, and SMTP plugins work by taking over that function. If two plugins try to do it, for example an SMTP plugin plus a form plugin or a store add-on with its own mail settings, only one wins, and it may not be the one you configured.
The host blocks the connection. Some hosts restrict outgoing connections on common SMTP ports, so the plugin cannot reach the mail server at all. Others cap how many messages a site may send in a given period. Neither shows up on the front of the site.
The from address and the sending account do not match. Sending as info@yourdomain.com through an account that belongs to a different address, or sending “from” a free webmail address, is a common way to fail DMARC checks.
Which emails we look at
“WordPress email” is not one thing. A typical small-business site sends several kinds of message, often from different plugins, and each can fail separately.
- Form notifications to you when someone fills in a contact, quote or booking form. If the form itself seems to be the problem, our post on contact forms that stop delivering enquiries explains how to tell form faults from mail faults.
- Customer confirmations from forms or bookings, which go to addresses you do not control and so face the strictest filtering.
- WooCommerce order emails: new order alerts to you, plus processing, completed and refund emails to customers. When orders seem to disappear or emails stop at a particular status, our post on missing WooCommerce orders and order emails is useful background.
- Account emails: password resets, new user registrations and, on membership sites, renewal reminders.
- System emails from WordPress itself, such as update notices and the recovery mode email sent when a fatal error takes a site down. If the admin address cannot receive mail, you lose that warning exactly when you need it.
How we fix WordPress email that is not being delivered
1. Find out where the message dies
We start by sending real messages through each route that matters to you, to more than one outside mailbox, and following them. An email log on the site shows whether WordPress tried to send. The SMTP response or the sending service’s dashboard shows whether the message was accepted. The headers of anything that arrives show whether SPF, DKIM and DMARC passed. Together these tell us whether the fault is in WordPress, in the connection, or at the receiving end.
2. Choose the right sending route
For most sites, mail should go through an authenticated service rather than the server’s own PHP mail. That might be the mailbox provider you already pay for, such as Google Workspace, Microsoft 365 or Zoho, or a transactional sending service like Brevo, Amazon SES, Mailgun or Postmark when the site sends a lot of automated mail. We will tell you which suits your volume and setup, and why. If you do not yet have proper mailboxes on your domain, that is a separate job handled by our business email setup service.
3. Set up one SMTP plugin, cleanly
We configure a single, well-maintained SMTP plugin, remove or disable competing mail settings in other plugins, set a from address that matches the sending account, and turn on logging so future problems can be traced. Where the plugin supports connecting through an API or a provider’s sign-in rather than a stored password, we usually prefer that.
4. Correct the DNS records
We check SPF, DKIM and DMARC for your domain and make the changes needed for the chosen sending route. A domain can only have one SPF record, so adding a new service means merging it into the existing record rather than adding a second one, a mistake we see often. If your DNS is managed somewhere you cannot easily reach, such as an old registrar account or a developer’s Cloudflare, we work out with you who has access before changing anything. Our hosting and domain support covers that side when it is tangled.
5. Test every message type, then write it down
We submit each form as a visitor would, place a test order where there is a store, trigger a password reset and check the admin address receives system mail. Each message is checked in real inboxes for arrival and for where it lands. You get a short record of the sending service, the plugin and the DNS records, so whoever looks after the site next does not have to rediscover it.
What you can do before contacting us
A couple of quick, harmless checks save time. Make a note of which emails are failing and since roughly when; the date of the last enquiry or order email you received is often the best clue. Look in the spam folder of the receiving address. If you can reach the dashboard, look at Settings, General and confirm the administration email address is one somebody reads.
Avoid installing a second or third mail plugin to “try another one”. That is the most common way a half-working setup becomes a fully broken one. If you do change settings, take a backup of the site first, and keep a copy of any existing DNS records before editing them, because a wrong DNS change can also stop your normal mailboxes receiving mail.
When missing email is a symptom of something bigger
Sometimes the reverse problem shows up: your host warns that the site is sending large volumes of mail, or your domain lands on a block list, while your own forms are not being used much. That can mean a compromised plugin or a hidden script is sending spam from the site, and sending limits then stop your genuine mail too. That needs a cleanup first, which our page on stopping a website that sends spam describes.
For a store, order emails that stop at the same moment payments or the checkout itself start failing may share a cause, such as an update or a plugin conflict. In that case we look at both together rather than fixing mail alone; our payment gateway error fix page covers the payment side. And if email is only one of several things going wrong after recent changes, the wider WordPress bug fixing service may be the better place to start.
Getting it looked at
Send us a WhatsApp message or use the contact form with the website address, which emails are not arriving, the address they should reach and, if you have one, a screenshot of any error from your SMTP plugin. Our team works on Indian time (IST); if you are in the USA, UK or elsewhere, payment goes through PayPal or Wise. After a look at your mail setup we give you a plain account of the fault and a start date, and the site is backed up before any setting is touched.