What decides whether an email lands in spam?#
The mailbox on the other end guesses from three things: whether it can prove the message came from the domain in the From line, how many readers pressed report spam, and how much of your list still opens anything. No provider publishes the weights it uses, but the words you chose sit behind all three.
Senders fix the words first because the words are the only part they can see.
Is it my sending tool or my own domain?#
Check this first, because it is quick to settle and it changes everything else you read about. When a tool sends your mail through an address that belongs to the tool instead of to you, your reputation is mixed into that address along with everyone else who uses it. One account that mails a bought list drags the whole group down, and your careful newsletter arrives behind them.
- You send as you@yourbusiness.com and the mail is signed by yourbusiness.com. Your history, your result, good or bad.
- You send as news@some-tool.com. Strangers decide how your message is treated.
- An address taken up fresh after a suspension has no history at all, which to a mailbox looks like a suspect sender who recently changed identity.
If your mail leaves from an address on someone else's domain, nothing you write will outrank that. The fix is to send from a domain you own and sign the message with it, which is what the next section checks.
How do I check whether my domain signs my email?#
Send yourself the message, open it in a desktop mail program, and view the raw source. You are hunting for one header line.
- Find the
DKIM-Signatureline. It carries the signature and tells the receiving server where to fetch the key. - Read the
d=value. That is the domain claiming responsibility for the message. - Read the
s=value. That is the selector, the half of the lookup name that lets one domain hold several keys. - Look up that selector at
._domainkeyunder the domain in DNS. The record there is the public key your signature is checked against.
A missing or unverifiable signature is the usual reason a legitimate newsletter from a real business lands in spam while the same business's personal mail arrives fine. The two messages leave through different servers. Your own mail goes out through your mailbox provider, whose domain has a signature that verifies and years of history behind it. A newsletter goes out through a sending service, and unless that service's selector is published under the domain in your From line, the receiver gets a signature it has nothing to check against.
What do Gmail and Yahoo demand from a bulk sender?#
Both publish the rules, and both read better as a checklist than as a threat. Google's sender guidelines say that a sender mailing more than 5,000 messages a day to Gmail accounts must set up SPF, DKIM and DMARC for the sending domain, keep valid forward and reverse DNS records (Google calls the reverse record a PTR), transmit over a TLS connection, format messages to the RFC 5322 standard, and keep the spam rate reported in Postmaster Tools below 0.30 percent. Google states that mail missing those checks might be marked as spam or rejected with a 5.7.26 error.
Yahoo began enforcement of its own sender rules in February 2024 and publishes no volume figure, so Gmail's 5,000 is not the industry rule. Yahoo says mail that does not meet its requirements may land in the spam folder or be rejected with an error code naming the reason, and that spoofed messages sent as your domain count against you. Its advice for a spoofing problem is a DMARC policy of quarantine or reject, whether or not anybody is complaining.
One detail in Google's page catches most senders. Mail to personal Gmail accounts needs a DKIM key of 1024 bits or longer, with 2048 bits recommended where the DNS provider supports it. A shorter key is not a weak signature. It is one Gmail does not accept, and the record still looks healthy in every checker you run.
One-click unsubscribe appears on both lists with a difference worth knowing. Google asks for it on marketing and subscribed messages. Yahoo says its requirement covers promotional mail and does not apply to transactional mail such as order confirmations and password resets.
My domain is signed. Why is it still in spam?#
A signature proves the message came from you. It does not prove you send to people who want it. The rest of the score comes from how readers treat you.
| What the mailbox weighs | What makes it worse | What fixes it |
|---|---|---|
| Complaints. A reader pressing report spam is a direct signal against your domain. | A list that was bought, scraped, or imported years ago. | Mail only addresses that asked, and stop mailing anyone who has not opened in a year. |
| Engagement. Mailboxes learn who ignores you, and remember it. | One message to the whole list, including the dead. | Send to your most active readers first and widen slowly from there. |
| Volume. A sender that jumps from nothing to tens of thousands looks like an attack. | A new domain mailing 20,000 people on day one. | Ramp over two weeks, a few hundred a day at the start. |
| Frequency. Too much of a good thing is measured. | Three campaigns in a week to a monthly audience. | One issue a month, finished properly. |
Formatting sits under all four. Images only, a logo instead of text, and a layout from a tool that has never sent from your domain arrive with nothing to check against. Plain HTML with real text, sized like the fonts that read well in mail, is the safe shape.
How do I read the headers to see what a mailbox checked?#
A message that reaches Gmail or Outlook arrives with an Authentication-Results line, written by the receiving server rather than by you. Open the raw source and read it as the closest thing to a verdict that exists without paying for a tool.
| Header value | What a pass proves | What a fail points at |
|---|---|---|
| dkim=pass | The signature matches a public key published under the domain in the d= value. | A key that is missing, too short for that mailbox, or a message changed after it was signed. |
| spf=pass | The server that handed the message over is listed in your SPF record. | A sending service nobody added to the record, or mail routed through a forwarder. |
| dmarc=pass | One of those two checks lines up with the domain a reader sees in the From line. | A signature from a different domain than the one in From, which is the shared-address problem in one line. |
| arc=pass | The message survived forwarding with its earlier results intact. | A mailing list or a forwarder that rewrote the message. |
| List-Unsubscribe-Post present | A one-click exit exists, and a mailbox can use it without opening the message. | Marketing mail with no one-click exit, which Gmail and Yahoo each reject on their own published rules. |
Read the header from the mailbox that judged the message, not the log your sending tool kept. Your dashboard knows the mail left. Only the receiver's copy says how it was treated on arrival.
Does adding my own address to contacts help?#
Only in the mailbox where you added it. A contact entry teaches one person's Gmail that you are welcome. It does nothing for the rest of your list, and no reader can do it on behalf of another.
The related trick, telling every reader to mark you as not spam or drag you from the spam folder, is worth one honest line near the end of a message and not more. A pre-send instruction to do that is a confession that you expect to be treated as junk.
Do certain words force the spam folder?#
Yes, but only as part of a message that already looks weak. The receiving mailbox forms a view of the sender before it reads the words, so wording changes the verdict on a message that was already close to the line. A recognised sender who writes about free shipping gets through; the same words from an unauthenticated address on a bought list do not.
What is worth removing: all caps, repeated punctuation, a subject line that is only a price, and a body that is one giant image. A single word inside an otherwise ordinary message rarely decides anything.
Why did my emails suddenly start going to spam?#
Sudden is the better half of this problem, because it means something changed, and the changes that move placement are few enough to check in an afternoon.
- A new domain or a new address, which arrives with no history and is treated like a stranger until it has some.
- A switch of sending tool, where the old domain kept its signature and the new one is not in your SPF record yet.
- An imported list, since people who never asked press report spam, and complaints are what move placement.
- A template swap to something built from one large image, which leaves a filter with hardly any text to read.
- A volume jump from a quiet month to forty thousand addresses in one afternoon.
- A cadence change, which readers notice and complain about before any mailbox does.
Fix the change rather than the wording. When the answer turns out to be the list, cleaning the addresses that stopped reading is the order to work in, and what sender reputation means explains why a fresh address starts lower than an old one.
What should I not waste a week on?#
- Rewriting the entire email to dodge one banned word.
- Adding a plain text version in the hope that is what the filter wanted.
- Buying a fresh list to replace the one that stopped responding.
- Sending from a personal Gmail address because it arrived there when you tested it.
- Mailing the full list again tomorrow to catch the people who missed it.
Can the links inside an email send it to spam?#
They can contribute. A mailbox reads the destinations inside the message as well as the domain that sent it, which is how a recognised sender with a bad link still loses the argument.
- A shortened or masked address hides where the reader lands, which is the same shape a phishing message uses.
- Written words that point somewhere different from the address behind them are a mismatch a filter sees without understanding a sentence.
- A tool that rewrites every link for reporting puts a domain of its own inside your message. Check that the rewritten address resolves to a real page, because a tracking domain that does not costs more placement than any word in a subject line.
Keep the destinations few and recognisable in a first send to addresses that have not read you before, and put them on a domain you can prove works.
Is there a test that shows spam placement before I send?#
Three, and each answers a different question, so none of them replaces the others.
- Mail your own addresses on Gmail, Outlook, Yahoo and a work mailbox, then note which folder each one landed in. That tells you about placement for you, on that day, and nothing about your list.
- Send to a small group of your most active readers first, then compare what comes back with a previous send to a similar group. Slower, and it is your real audience behaving rather than a test address.
- Ask a handful of readers where it arrived. One honest line near the end of an issue does the job for the whole list without any setup.
Seed-list services sell a score out of 100 for the first of these. Since no mailbox publishes how it scores a sender, read that number as a forecast rather than a measurement: it can see your wording and it cannot see the history your address carries.
How long does it take to come back?#
Weeks, not hours, and no mail company publishes the number it uses or how quickly it decays. Google, Yahoo and Microsoft each publish sender guidance and none of them publish the threshold at which a domain starts getting blocked, so anyone who promises you a fixed recovery date is quoting another blog rather than the mailbox.
What you can watch is your own evidence: bounces coming down, opens per new address, complaints near zero. Mail a small group of your most active readers first. If that send lands in their primary folders and a send to the old untouched half of the list does not, the list is the problem, not your domain.
Most of this comes down to two decisions: send from a domain that is yours, and do not mail people who never asked. Campaign Kicker gives you the signature records for your own domain as rows to paste, then reads them back and tells you whether the sending service can see them yet. Volume climbs on a ramp instead of jumping, and addresses that bounce are held out of the next send on their own.
Start free with your own domain