Skip to content
WordPress Email Fix

WordPress emails not arriving? We fix delivery, SPF, DKIM and DMARC.

Enquiries that never reach your inbox. Order confirmations in spam. Password resets that never come. WordPress says the email was sent, and nobody gets it. We reply within 30 minutes during business hours, diagnose for free and agree a fixed price in writing before we start.

Free Diagnosis before any quote
Fixed Price agreed in writing first
3 records SPF, DKIM and DMARC checked
€0 If we can't fix it

"Sent" only means WordPress handed it over.

By default WordPress hands each message to PHPMailer and the web server's own mail system. Both report success as soon as the message is accepted, which WordPress's own documentation says does not necessarily mean anyone received it.

The web server's mail function

Without an SMTP setup, WordPress sends through PHP mail() on your host. Many hosts limit or quietly drop this mail, and PHP's manual is clear that "accepted for delivery" does not mean it will arrive.

A From address your domain never approved

If nothing sets a sender, WordPress sends from wordpress@ plus your domain. Many forms send "from" the visitor's Gmail address instead. Either way, the receiving server sees mail claiming a domain whose records never allowed your web server to send for it.

Missing or broken SPF

SPF is the DNS record that lists who may send for your domain, and a domain may have only one. Two SPF records, or one that needs more than ten DNS lookups, is a permanent error and protects nothing.

No DKIM signature

DKIM signs each message so the receiver can check it came from someone your domain trusts and was not changed. Mail from PHP mail() on shared hosting is usually not signed for your domain at all.

Website and mailboxes at different providers

Site on one host, mailboxes on Google Workspace or Microsoft 365. Every alert goes out as your domain, to your domain, from a server that is not your mail provider. It breaks quietly, as in our case study below.

Mailbox provider rules

Gmail and Yahoo (since February 2024) and Outlook.com (for high-volume senders, since May 2025) set authentication rules for senders. Mail that fails them goes to spam or is refused. The details are further down this page.

Four checks that narrow it down in ten minutes.

None of these changes anything, and together they tell you, or us, which cause it is.

Note which messages fail: form alerts to you, order emails to customers, password resets, or all of them. Then whether it is every recipient or only some. "Everything, to everyone" points at the server or the sending setup. "Only Gmail" or "only Outlook" points at authentication.

Check spam and junk where the message should arrive. Mail in spam was delivered and then judged, which is a different fix from mail that never arrived. Then check the site: if the form entry or order is saved but the email is not, the problem sits between WordPress and the inbox. If the entry is missing too, it is a form or site error.

Send a test to a Gmail address. If it arrives, even in spam, open it and choose More, then Show original. The Authentication-Results line shows whether SPF, DKIM and DMARC passed, and which domain the server actually used. That one line usually names the cause.

In your DNS, look for TXT records that start with v=spf1. There should be exactly one. A second one, often added by a newsletter tool or a new mail provider, breaks both. Merge them into one record instead of deleting the one that looks old.

What the three records do, and the rules behind them.

Most guides stop at "install an SMTP plugin". That moves the sending, but if the domain's records do not match the new sender, the mail still lands in spam. This is what we check and set.

One TXT record listing everything allowed to send as your domain: your mailbox provider, the website's sending service, your newsletter tool. Each include costs DNS lookups and the limit is ten, so we keep it to what you use.

Your mail provider or sending service signs each message with a private key, and a DNS record publishes the public key. We switch DKIM on for every service that sends as your domain, website included, and check it passes on real messages.

DMARC ties SPF and DKIM to the address in the From line and tells receivers what to do with mail that fails: none (deliver and report), quarantine or reject. Its aggregate reports show every server sending as your domain. Going straight to reject can block your own invoices or newsletters if one service was missed, so we start at none, fix every legitimate sender the reports show, and tighten over a few weeks.

Gmail and Yahoo, since February 2024: every sender needs SPF or DKIM, valid forward and reverse DNS, and a spam rate below 0.3%. Senders of about 5,000 or more messages a day to Gmail also need SPF and DKIM, DMARC at least at none with the From domain aligned, and one-click unsubscribe on marketing mail. Outlook.com, since May 2025: domains sending over 5,000 a day need SPF, DKIM and DMARC, or their mail goes to Junk. A small site is far below those volumes, but the first rule applies to every sender.

How a fix works

From missing emails to tested delivery.

A fixed price, not an hourly meter.

  1. 01

    You tell us what is missing

    The URL, which emails fail, to whom, and since when, and where your mailboxes are hosted: Google Workspace, Microsoft 365, your web host or elsewhere.

  2. 02

    Free diagnosis

    We reply within 30 minutes during business hours. Then we trace where the email stops and send you what needs to change and the fixed price, in writing.

  3. 03

    Backup, then the fix

    You approve the price. We back up the site, move sending to an authenticated route, set the From address and correct SPF, DKIM and DMARC. Then we send test messages and check each one passes.

  4. 04

    Documented, with recurrence support

    A short writeup of what was wrong, what changed and which DNS records now exist, plus 14 to 30 days of recurrence support: if the same problem returns in that window, we fix it again at no charge.

A real one: the log full of successes.

A maintenance client's enquiry form kept saving leads but stopped emailing anyone. Read the full case study.

Leads were still landing in the database, so the form worked. The send log showed PHP mail() returning true for about 1,800 submissions going back months, with no failures, including the client's own test that morning. The site's delivery-status field stored that same return value, so it could only ever say success.

The site was on shared hosting and the mailboxes on Google Workspace. Every notification went out as the company's domain, to the company's domain, from a machine that was not Google, and the domain's sender authentication was permissive and incomplete.

Authenticated SMTP straight into Google Workspace, with an automatic fallback so a half-finished deployment could not take the form offline, and real SMTP errors written to the log and the lead record. We also removed a stray send that mailed internal lead data to the visitor. Reported before 09:00, verified by 11:30 the same morning. No enquiry was lost: all were still in the database and went back to the team that day.

Three tiers, the same as every WordPress fix.

The free diagnosis shows which one fits. You get the fixed price in writing before we start.

Quick Fix

One sending problem
From € 199
  • Form or site email moved to authenticated sending
  • From address set for your domain
  • Backup taken before deployment
  • Same-day fix typically
  • 14 days of recurrence support
  • Documented fix

Emergency

Store emails failing or orders going unseen
From € 299
  • Order or password emails not arriving
  • Critical e-commerce errors
  • Priority response
  • Backup before any change
  • Test orders to confirm customers receive them
  • Documented fix

Multi-Issue

Several senders, or SPF, DKIM and DMARC for the whole domain
From € 499
  • Up to 5 related issues
  • Full site review
  • Performance check included
  • Security baseline established
  • 30 days of recurrence support
  • Prevention recommendations

All prices exclude VAT. Diagnosis is always free. A paid sending service, if you need one, is billed by that provider, not by us. Other problems: WordPress fixes and WooCommerce fixes.

No fix, no fee. In writing.

If we agree to fix your email delivery and cannot do it within the agreed scope, you do not pay. Diagnosis is always free, the price is fixed in writing before we start, and nothing is billed beyond that scope without your approval.

Questions about WordPress not sending email.

Often part of the fix, not all of it. If the account the plugin sends through is not in your SPF record, does not sign with DKIM for your domain, or sends from a mismatched address, the mail still fails the checks. The plugin and the DNS have to agree.
Not always. A site that sends a few form alerts can often send through the mailbox provider you already pay for, as in our case study. A store sending order, shipping and account emails usually does better with a transactional sending service. We tell you which fits, and you sign up for it in your own name.
Many forms use the visitor's address as the sender. Your site may not send as gmail.com, so receivers treat the message as forged. Send from an address on your own domain and put the visitor's address in Reply-To, so replying still works. Our contact form email guide shows where to change it in Contact Form 7, WPForms and Gravity Forms.
Yes. Order confirmations, shipping notices and password resets go through the same WordPress mail function, so the same fix covers them. Afterwards we place real test orders to an outside address, because a plugin's "send test email" button often takes a different path.
Usually from a customer, because WordPress keeps saying "sent". Send an enquiry from the live form to an address at another provider once a month and after every plugin or DNS change. If you want someone who knows the site to look after it: WordPress maintenance from €99/month, WooCommerce care plans from €129/month.
Not for the diagnosis: the URL, the missing emails and where your mailboxes are hosted are usually enough. Once you approve the quote, you give us temporary access and revoke it when we are done.
Free diagnosis

Tell us which emails are missing.

Send the URL, which emails fail, to whom and since when. We reply within 30 minutes during business hours.

  • Free diagnosis before any quote
  • Backup before we change anything
  • DNS changes only with your approval
  • No fix, no fee

Describe the problem

Write URGENT if customers are not getting order emails.





    Chat on WhatsApp