WordPress not sending email or going to spam: the fix
Forms, orders and password resets that actually reach the right inbox.
If WordPress is not sending email, or WordPress emails are going to spam, the site is losing enquiries without anyone noticing: contact form requests that never arrive, WooCommerce order notifications your customers never see, password resets that vanish. It's one of the most common problems and, almost always, one of the simplest to fix.
Why website emails get lost
Out of the box WordPress sends using PHP's mail function: the message leaves the web server with no authentication and no proof that it really comes from your domain. To Gmail and Outlook, an email like that looks a lot like a scam. There are four typical causes:
- sending without authentication: no SMTP server, just the hosting's PHP mail function;
- missing or wrong SPF, DKIM or DMARC records: the domain doesn't declare who may send on its behalf, or declares it incorrectly;
- a sender on a different domain: the form sends "from" wordpress@hostingname.com or from the visitor's Gmail address;
- the hosting IP on a blocklist: on a shared server, one neighbour sending spam is enough to damage everyone's reputation. In that case the fix is to send through an external service: any subscription it needs is on you, and delisting depends on the blocklist operators, so it isn't included in the fixed price.
How to tell where they stop
Before changing anything, we find out where the message gets lost. We send a test email from the site and read the technical headers: whether SPF, DKIM and DMARC passed or failed, which server it left from, whether it was rejected or accepted and moved to spam. If the message doesn't arrive anywhere, we look at the sending logs on the server or mail service. That's usually enough to tell whether the problem is the site, the domain's DNS or the hosting's reputation.
What we do
- Sending through authenticated SMTP: we connect WordPress to a mail server with credentials, or to a transactional service if the site sends lots of notifications, like a WooCommerce shop.
- The right sender: every email leaves from an address on your domain; the address of whoever filled in the form goes in the Reply-To field, so you can reply with one click.
- SPF, DKIM and DMARC: we publish or correct the domain's DNS records, without breaking the email you already use.
- Delivery test: we send test messages to Gmail and Outlook mailboxes and check where they land and what the headers say.
- Forms and notifications check: Contact Form 7, WPForms or whatever form you use, order emails, registrations and password resets.
SPF, DKIM and DMARC in plain terms
Think of them as the paperwork on a delivery. SPF is the list of couriers authorised to deliver on your company's behalf. DKIM is a seal on the parcel: whoever receives it can check nobody has opened or forged it. DMARC is the rule you give the post room: "if something arrives in my name without proper paperwork, set it aside, and send me a report".
Since February 2024 Google has required anyone sending to Gmail to use at least SPF or DKIM, and anyone sending over 5,000 messages a day to have both SPF and DKIM, plus DMARC; Yahoo introduced similar rules, and Outlook.com has applied them to high-volume senders since May 2025. A small site isn't a bulk sender, but without authentication it still starts at a disadvantage.
Price and what's not included
The job costs €99 at a fixed price, for one site: authenticated sending, SPF, DKIM and DMARC records, a delivery test and a check of forms and notifications. We need access to the domain's DNS, or the contact details of whoever manages it.
The company mail server isn't included: if staff mailboxes aren't receiving or are landing in spam, that's a different job, covered on the mail servers page and quoted separately. Any other work that comes up along the way is billed by the hour (€75/hour) or with hour packages, always with a quote before we start.
Who it's for
- Businesses and professionals with a WordPress site whose contact forms bring in customers.
- WooCommerce shops that can't afford order confirmations in spam: for ongoing care there's WooCommerce support.
- Agencies and web designers who want to hand over a site with email set up properly.
- Anyone who's already tried an SMTP plugin with no luck and wants to know what's missing.
A typical case
A Contact Form 7 form sending from the visitor's Gmail address, no DKIM record, and an SPF record that only authorised the old provider. Enquiries were landing in spam or being rejected. Fix the sender, connect the site to authenticated SMTP, publish the right records and test delivery: enquiries are back in the inbox.
How we work
We work Monday to Friday, 09:00-18:00. You get a summary with the records published and the test results, so you know exactly what was changed. If you'd like someone to look after the site afterwards too, there's WordPress support.
Frequently asked questions
Isn't installing an SMTP plugin enough?
The plugin is half the job: it tells WordPress to send through an authenticated server instead of PHP's mail function. But if the domain has no SPF, DKIM and DMARC matching that server, or the sender uses a different domain, emails keep landing in spam. That's why we fix both the site and the DNS, then test delivery.
What are SPF, DKIM and DMARC?
They are three DNS records on your domain. SPF lists the servers allowed to send on its behalf, DKIM adds a verifiable digital signature to every message, and DMARC tells providers what to do with emails that fail the checks and where to send reports. Together they let Gmail and Outlook recognise that a message really comes from you.
Do Gmail and Yahoo require authentication?
Yes. Since February 2024 Google requires anyone sending to Gmail to use at least SPF or DKIM, and anyone sending more than 5,000 messages a day to also have aligned SPF, DKIM and DMARC; Yahoo introduced similar rules, and since May 2025 Outlook.com does the same for high-volume senders. A site sending without authentication is the first to end up in spam.
Why do Contact Form 7 or WPForms emails not arrive at all?
Often the form's sender is the visitor's own address, a Gmail address for instance: your server isn't authorised to send on Gmail's behalf, so the message gets discarded. The fix is to send from an address on your domain and put the visitor's address in the Reply-To field.
How much does it cost and what's included?
€99 at a fixed price for one site: sending through authenticated SMTP or a transactional service, SPF, DKIM and DMARC records, a delivery test to Gmail and Outlook, and a check of forms and notifications. If the problem is the company mail server, we quote it separately.
What do you need to get started?
Administrator access to WordPress and access to the domain's DNS management, or the contact details of whoever manages it. Without being able to change the DNS, SPF, DKIM and DMARC can't be published and the job would be left half done.
Other fixed-price fixes
Need a hand with your infrastructure?
Tell us the problem: we reply with a clear plan and a quote.