Why are my campaign emails being rejected?
What this page is for
Email rejections come in two very different kinds, and the fix depends entirely on which one you're hitting. In one case your own sending provider rejects the message as spam before it ever leaves your mailbox — so it never reaches the recipient and your campaign shows sent zero. In the other, your message goes out fine but the recipient's inbox provider (Gmail, Outlook, Yahoo, or a corporate mail server) refuses to deliver it. Neither is a WarmySender bug — both are deliverability signals you can fix.
The good news: rejection rate is one of the most controllable signals in cold email. The concrete levers below each move the dial. The page also explains where the dashboard surfaces the rejection rate so you can see the trend across a campaign, and lists common phrasing variations so you can match what you're seeing on your end.
WarmySender is a 4-pillar outreach platform — Cold Emailing, Email Warmup, LinkedIn Outreach, and Multichannel sequences. This page is part of the cold-email + deliverability surface.
Two kinds of rejection — which one are you hitting?
Before you change anything, figure out where the rejection is happening. The two cases look similar in a campaign report but have completely different fixes.
A. Rejected by your own sending provider (before the email leaves)
Your outgoing mail host's outbound spam filter blocked the message at send time. It was rejected as spam before it ever left your mailbox, so it never reached the recipient at all.
Tell-tale signs:
- Your campaign shows attempts but 0 delivered — it's "sending zero."
- It happens across many different recipients at once, including big providers like Gmail.
- Nothing at all is getting through — not even a few messages.
Fixes, in order:
- Check your sending host. Budget or shared mail hosts often run very strict outbound filters that flag cold-style email as spam. Consider moving to a dedicated sending domain on a reputable sending host built for outreach.
- Soften the content. Avoid fake "Re:" or "Fwd:" subject prefixes on first-touch cold emails, spammy words, ALL CAPS, link shorteners, and attachments. Run the copy through a spam-content checker (for example, Mail-Tester) before launching.
- Make sure warmup has been running on the mailbox and the domain is older than about 30 days.
- Lower daily volume and ramp slowly — start at 20–30 sends per day per mailbox and increase gradually.
- Confirm SPF, DKIM, and DMARC are set on the sending domain.
B. Rejected at the recipient's inbox
Your message left your mailbox cleanly, but the recipient's inbox provider (Gmail, Outlook, Yahoo, or a corporate mail server) refused to deliver it. This is a verdict on your sending reputation.
Tell-tale signs:
- Some emails still deliver — it's a subset of recipients that fail, not everything.
- Failures often cluster on one provider or one company's mail server while others land fine.
This is the case covered in detail in the rest of this page — the five concrete levers below (authentication records, domain age + warmup, slower ramp, better content, blocklist hygiene) are how you strengthen your reputation so more of your sends land.
Quick rule of thumb: if nothing at all is delivering across many different recipients (including Gmail), it's almost always case A — your own sending provider. If some emails land while others are rejected, it's case B — the recipient side and your sending reputation.
What a recipient-side rejection means
A "rejected by recipient mail server" result means the prospect's inbox provider received your message at the door, looked at it, and decided not to deliver it. The most common cause is that the provider thinks the email is suspicious — either because it cannot verify that you are who you say you are (missing or misaligned email-authentication records on your sending domain), because your sending domain is too new to have a reputation, because your volume looks unnaturally bursty, or because the content matches patterns that providers associate with spam.
A rejection is different from a soft bounce (the recipient mailbox is temporarily unavailable and the provider asks the sender to retry later) and different from a no-such-mailbox (the address doesn't exist). It is the receiving provider exercising its own filters on YOUR reputation as a sender. The fixes are about strengthening that reputation.
How to fix it
Five concrete levers, in order of impact. The top two are non-negotiable for every cold email sender; the bottom three are how you keep delivering as you scale.
- Set up SPF, DKIM, and DMARC on your sending domain. These are three DNS records that prove to every receiving provider that the email actually came from you and that nobody else can spoof your domain. SPF lists which servers are allowed to send for your domain. DKIM signs each message with a key the receiver can verify. DMARC tells the receiver what to do if SPF or DKIM fail. Senders without these records get rejected at a much higher rate, especially by Google and Microsoft. Set all three in your DNS console — your domain registrar (GoDaddy, Cloudflare, Namecheap, etc.) walks you through it, and Google Postmaster Tools / Microsoft SNDS confirm alignment.
- Make sure the sending domain is older than 30 days and has had warmup running. A brand-new domain has no reputation, so the receiving providers treat every message as suspicious by default. Wait at least 30 days after registration before running cold outreach from a domain, and run WarmySender's email warmup on each mailbox attached to it from day one. Warmup builds the peer-to-peer reputation signal that receiving providers use to decide whether your future cold sends look legitimate.
- Reduce send volume per day per mailbox and slow your ramp. A new mailbox sending 100 cold emails on day 1 looks identical to a bot, even if every individual message is hand-written. Start at 20-30 per day per mailbox, increase weekly only if your rejection rate stays below 2 percent, and never exceed the soft ceilings the receiving providers tolerate (~500/day on consumer Gmail, ~2,000/day on Workspace, ~10,000/day on Microsoft 365). To scale total throughput, spread mailboxes across multiple domains rather than pushing one domain harder.
- Personalize subject lines and avoid spam-trigger words in the body. Personalized subject lines (with the prospect's first name, company, or context) signal to filters that this is a human-to-human message, not a blast. Avoid the classic spam-trigger phrases ("FREE", "100% guaranteed", "URGENT", "act now", excessive exclamation marks, all caps, link shorteners), avoid attachments on cold sends, and keep the message short and conversational. Run the body through a content checker like Mail-Tester before launching to spot risky phrasing.
- Make sure your sending mailbox and domain are not on any public blocklists. Spamhaus, SORBS, Barracuda, and a handful of other lists track domains and IPs that have generated spam complaints. Run an MXToolbox blacklist check on your sending domain and the mailbox's IP every few weeks. If you appear on a list, follow the delisting flow on that list's website (most accept a one-time delisting request after the underlying issue is resolved). Repeated rejections from the same provider often correlate with a fresh blocklist entry.
Why I see this in WarmySender
The campaign dashboard tracks every send result, including rejections from the recipient mail server, and surfaces a per-campaign rejection rate so you can see when the issue is starting to spread. A small number of rejections across a large campaign is normal (some prospects will always have changed email addresses, mailbox-full statuses, or aggressive filters). A rejection rate climbing past a few percent across a campaign — or above 5 percent for the entire workspace — is the signal to pause, work through the five levers above, and resume on smaller volume.
The dashboard also tracks bounce-fanout protection: if a prospect bounces in one of your mailboxes, the platform skips that same prospect in your other mailboxes in the same workspace to protect your domain reputation. See why was this prospect skipped — bounce for the full explainer.
Common phrasing variations
Customers describe this same problem in many ways. If any of the following match what you're seeing, you're on the right page:
- "My emails are not delivering."
- "My campaign is sending zero."
- "My prospects are not being contacted."
- "550 spam rejected" — that's the wire-level message receiving providers send back when they refuse a message they consider spam-like.
- "Rejected by recipient mail server."
- "Mail returned to sender."
- "Address rejected: access denied."
All of these point to the same place: the receiving provider chose not to deliver. The fixes are the same five levers above.
Common questions
Why does my campaign show sent 0 even though it's running and the mailbox is healthy?
The most common cause is that the messages are being rejected by your OWN sending provider — your outgoing mail host's outbound spam filter blocked them as spam before they ever left your mailbox, so they never reached the recipient at all. This shows up as the campaign making attempts but delivering zero, often across many different recipients including big providers like Gmail. It is not the recipient rejecting you and it is not a WarmySender bug — the block happens on the sending side. The fixes, in order: move to a dedicated sending domain on a reputable sending host (budget or shared hosts often run very strict outbound filters), soften your email content (no fake "Re:" or "Fwd:" prefixes on first-touch cold emails, no spammy words, no ALL CAPS, no link shorteners or attachments — run the copy through a spam-content checker), make sure warmup has been running on the mailbox and the domain is older than about 30 days, lower your daily volume and ramp slowly (20–30 per day per mailbox), and confirm SPF, DKIM, and DMARC are set. See the "two kinds of rejection" section above for the full walkthrough.
How do I tell if MY provider is blocking versus the recipient?
Look at the pattern. If many different recipients — including big providers like Gmail — all fail the same way and nothing at all is getting delivered, it is almost always the sending side: your own outgoing mail host rejected the messages as spam before they left your mailbox. A recipient-side problem looks different: it usually affects a subset of recipients (a particular company's mail server, or one provider) while other sends still land, and you can see at least some emails delivering. Rule of thumb — total zero delivered across mixed providers points to your sending provider; partial delivery with some rejections points to the recipient side and your sending reputation.
Is this a WarmySender problem?
No. The message left WarmySender cleanly. The decision to reject it was made at the receiving provider's edge. WarmySender's job is to send the message according to your configuration and to surface the result honestly — which is what the rejection rate on your campaign dashboard does. The fix is on your sending reputation, not on the WarmySender side.
How fast will the rejection rate drop after I fix SPF / DKIM / DMARC?
Usually within 24-48 hours of the DNS change propagating, assuming your sending domain is otherwise in good standing. Receiving providers re-evaluate alignment on every incoming message, so once your DNS is correct the next batch of sends should pass authentication checks. If the rejection rate stays high after a clean SPF / DKIM / DMARC setup, the cause is usually elsewhere — domain age, warmup, volume ramp, or blocklist presence — and you'll need to work through the rest of the list.
My domain is 6 months old and has warmup running. Why am I still getting rejections?
Most often: a recent volume spike, a content pattern flagged by Google or Microsoft, or a freshly added blocklist entry. Check the campaign dashboard for the day the rejection rate started climbing and compare it to your send volume that day. If you scaled up suddenly, slow back down. If you launched a new template, check the body against a spam-trigger checker. If neither applies, run an MXToolbox blacklist scan on the sending domain.
Will running warmup harder fix this?
Warmup is the foundation of sender reputation, but it's not a "more is better" lever once you have it running. WarmySender's warmup engine runs on a curve that matches each mailbox's age and current placement — sending more warmup volume on a healthy mailbox doesn't accelerate the ramp and can look unnaturally bursty if it pushes past the ceiling for that mailbox's stage. Let warmup run on its default schedule, focus on the cold-send-side levers (SPF / DKIM / DMARC, slower cold ramp, content), and re-check the rejection rate after a week.
Do rejected prospects re-attempt? Should I re-add them?
No re-attempt happens automatically on a rejected send — the receiving provider's decision is treated as terminal for that send. The prospect remains in the campaign for any subsequent steps, but if the underlying issue is your sending reputation, the next step will likely be rejected for the same reason until you work through the five levers above. Once your rejection rate drops, you can re-import the affected prospects into a fresh campaign and they'll be contacted under the improved reputation.
Account safety
Pausing a campaign with a high rejection rate is always the safe play. Continuing to send into a high-rejection signal compounds the problem — every additional rejected message strengthens the receiving provider's negative classification of your sending domain, which makes future sends more likely to be rejected too. WarmySender's per-mailbox health monitor surfaces this trend; act on the trend rather than pushing through it.
Per-mailbox daily limits, sending windows, ramp ceilings, and warmup continue to run normally during any rejection-rate investigation. None of the five fixes on this page require a WarmySender support ticket — they are all customer-side configuration changes on your sending domain and mailbox.
Related guides
- How email warmup ramps up — what to expect in your first hour, first day, and first week of warmup on a new mailbox
- Why was this prospect skipped (bounce)? — the bounce-fanout protection that skips the same bad address across your other mailboxes
- Provider blocks (Outlook, Gmail, Yahoo) — the deeper case where a provider has paused your sending entirely
- SMTP Disabled by Microsoft Admin — the M365-specific tenant-level case
- Connect a Microsoft 365 mailbox — the canonical setup guide for M365
- Connect a Gmail / Workspace alias mailbox — the canonical setup guide for Gmail
- Full documentation — every WarmySender guide
- Support — how to reach the team
Still seeing a high rejection rate after working through the five levers? Email [email protected] with the campaign name and a screenshot of the dashboard — we'll cross-check the trend against the per-mailbox health signal and recommend the next move.