Skip to main content
Deliverability · 12 min read

Salesforce email deliverability: why your mail bounces or hits spam.

Salesforce is the hardest major platform to get right on email - because each product (Sales, Service, Marketing Cloud, Pardot) can authenticate differently, and 2026 added a hard new requirement most orgs missed. Here's the real list of causes, in the order they actually bite.

Updated June 2026·By EmailSheriff

Salesforce email problems split into two very different buckets, and the first thing to do is work out which one you have. Either your mail isn't going out at all (undelivered, bouncing, 550 errors) - which is almost always a Salesforce-side configuration or a brand-new 2026 requirement - or it's going out but landing in spam, which is the reputation-and-list problem every sender faces. The fixes have nothing in common, so don't troubleshoot blind.

The 2026 change that broke a lot of orgs

With the Spring '26 release, Salesforce made domain verification mandatory for outbound email. Production orgs had to comply by April 27, 2026; new orgs immediately. If your org never completed verification, Salesforce now blocks or fails sends with 550-class errors - and a lot of admins are discovering this only when mail stops. If your Salesforce email "suddenly stopped working" in 2026, check this first, before anything else.

Apr 27 '26
Production deadline for mandatory domain verification
Activate
The DKIM step that isn't done when DNS is published
DKIM
What carries DMARC, because Salesforce SPF won't align
48 hr
Worst-case DNS propagation before a record resolves

1. If mail isn't going out at all

Start here if you're seeing undelivered mail, bounces, or nothing arriving. These are Salesforce-side, and they're the fastest to fix once you know where to look.

Domain verification (the 2026 requirement). Covered in the callout above - if you haven't completed it, that's almost certainly your answer. Check Setup for the domain verification flow and complete it.

Email deliverability access level. Salesforce has a single org-wide setting that controls whether it can send email at all: Setup → Deliverability → Access to Send Email. If it's set to System email only or No access, your application and workflow mail simply won't go out. It's supposed to be All email for a live org. This setting silently resets to a restricted value in sandboxes and after some refreshes, which catches people out.

Bounce management. Salesforce tracks addresses that previously bounced and stops sending to them. If a contact "isn't receiving" your mail, they may be on Salesforce's internal bounced list from an old hard bounce. That's usually correct behaviour - but it means a dirty list doesn't just hurt reputation, it actively suppresses future sends.

2. The DKIM step everyone skips

This is the most common Salesforce authentication failure, and it's maddening because the DNS looks perfect.

Publish is not activate

When you set up DKIM in Salesforce, it generates DNS records for you to publish. But Salesforce will not sign your mail until you go back into Setup and explicitly activate the key. The full sequence is: generate the key → publish the DNS records → wait for propagation → return to Setup and activate. Miss that last step and every email fails DKIM while your DNS records resolve perfectly. People spend hours re-checking DNS when the key was simply never switched on.

To confirm it's actually working: send yourself a test, open it in Gmail, click the three dots → Show original, and check that DKIM = PASS and the signing domain is yours. That's the only proof that matters.

3. Why SPF won't save you (Marketing Cloud / Pardot)

If you send through Marketing Cloud or Pardot, there's a structural gotcha. Salesforce sends using its own return-path domain, not yours. SPF authenticates against that return-path domain - which means SPF passes, but it passes for a Salesforce domain, not your visible From: domain. The two don't match, so SPF does not align. And DMARC requires alignment to pass.

The practical consequence: you can add every Salesforce SPF include correctly and DMARC still fails, because SPF alignment was never going to happen with this architecture. DKIM is the fix. Salesforce's DKIM key signs with your domain, DKIM aligns, and DMARC passes on DKIM alone. This is why section 2 matters so much - with Salesforce, DKIM isn't optional polish, it's the load-bearing authentication.

If you want a step-by-step on the records themselves, our Salesforce SPF, DKIM and DMARC setup guide walks through the exact configuration. This article is about diagnosing why a setup that looks done still misbehaves.

4. If mail goes out but lands in spam

Once authentication is genuinely passing - DKIM activated and aligned, domain verified - and mail still lands in spam, you've crossed into the reputation-and-list problem. Salesforce is no longer the cause; how and to whom you're sending is.

The big three:

5. How to diagnose which bucket you're in

One test settles it. Send to fresh inboxes you control across Gmail, Outlook and Yahoo:

From there, three checks pinpoint it:

6. The order to fix things in

Salesforce rewards doing this in sequence, because the platform-side blocks make the rest irrelevant until they're cleared:

Salesforce's difficulty is real but it's mostly front-loaded: once domain verification, the deliverability setting, and DKIM activation are correct, it sends as well as anything. The mistakes that bite are skipping the activation step and assuming SPF carries DMARC - and then, once those are fixed, the same list hygiene that governs every platform.

Frequently asked questions

Why is my Salesforce email suddenly not sending in 2026?
The most likely cause is the Spring '26 mandatory domain verification. Salesforce now requires verified sending domains for outbound email - production orgs had to comply by April 27, 2026, and new orgs immediately. If your org hasn't completed domain verification, Salesforce blocks or fails the send with 550-class errors. Check Setup for the domain verification requirement first.
I published the Salesforce DKIM record but mail still fails DKIM. Why?
Publishing the DNS record is not the last step. Salesforce will not sign your mail until you go back into Setup and explicitly activate the DKIM key. The sequence is publish the record, wait for DNS propagation, then activate the key in Salesforce. Skip the activation and every email fails DKIM while your DNS looks perfect.
Why does SPF not fix DMARC for Marketing Cloud or Pardot?
Salesforce sends with its own return-path domain, so SPF authenticates against that domain rather than your visible From: domain. Because the two don't match, SPF does not align - and DMARC needs alignment to pass. The reliable fix is DKIM: activate Salesforce's DKIM key so mail is signed with your domain, and DMARC passes on DKIM alignment alone.
Why are my Salesforce emails bouncing internally before they even send?
Salesforce has its own deliverability setting under Setup that controls whether the org can send email at all. If Email Deliverability access level is set to System email only or No access, your application mail won't go out. It also applies bounce management that pauses sending to addresses that previously bounced. Check the deliverability access level and your bounced-address handling in Setup.
How do I clean a list before sending from Salesforce or Marketing Cloud?
Validate the list before import: remove invalid syntax, disposable domains, role-based addresses and likely spam traps so you never send to an address that hard-bounces. High bounce rates damage your domain reputation and trigger Salesforce's bounce management, which suppresses future sends. Run the list through a verifier first, then import only the deliverable addresses.

Diagnose your Salesforce sending

CRM DNS Verifier
Check your DNS against Salesforce's exact spec - including the multi-product SPF traps and the DKIM alignment a green status can hide.
List Cleaner
Verify a list before import to stop the bounces that damage reputation and trigger Salesforce's bounce suppression. Free.
Blacklist Sweep
Check your domain and IP against 12 real-time blacklists in a single pass.