Why your emails are marked as spam
The four things that decide whether your mail reaches an inbox, in the order worth checking.
Mail you send arrives in recipients' spam folders. Applies to shared, reseller and Premium hosting.
Deliverability comes down to four things. Work through them in this order — the first two account for most cases.
1. Authentication
Receiving servers check whether you are authorised to send as your domain. A domain that fails these checks is filtered almost everywhere.
- SPF — Set your SPF record
- DKIM — enable it under cPanel → Email Deliverability
- DMARC — Publish a DMARC record
cPanel → Email Deliverability validates all three and shows what is wrong. Start there; if it reports a problem, nothing else you change will matter much.
2. How you are sending
Authenticate over SMTP. Sending unauthenticated adds points to the spam score immediately — see Fix "550 Please turn on SMTP Authentication".
Do not use PHP mail(). It relays via the server hostname while your
application claims a different From address, and receivers read the mismatch as
spoofing — see Enable PHP mail()
and Send WordPress email over SMTP.
Send from an address on your own domain. A From address of
noreply@gmail.com sent from your server fails alignment.
3. Content
Spam scoring reacts to recognisable patterns:
- Subject lines in capitals, or heavy exclamation marks
- Bulk-mail phrasing — "act now", "limited time", guaranteed returns
- A message that is one large image with almost no text
- Shortened links such as
bit.ly, which hide the destination
See Fix "550 This message was classified as SPAM".
4. Reputation
Sending IP reputation is largely handled for you: outbound mail routes through a dedicated relay rather than your account's shared IP, so a neighbour's problems do not become yours — see How outbound mail is relayed.
Your domain's reputation is yours, and it is damaged by:
- A compromised mailbox sending spam — see Fix the 550 5.7.1 [SS] rejection
- Sending to purchased or scraped lists
- High complaint rates from recipients marking mail as spam
Bulk sending
Do not send campaigns from a normal mailbox. It will be scored as spam regardless of content, and hit your sending limits. Use a dedicated bulk service — it handles unsubscribes and reputation, which is the whole point.
Diagnosing a specific message
Get the full headers
from a message that was filtered. Authentication-Results shows whether SPF,
DKIM and DMARC passed, and the spam score shows how close it was — which tells
you whether you have one problem or several.
Related
Report a false positive
Legitimate mail rejected or filtered — what to gather, and what to check first, since most rejections have a cause you can fix.
SpamExperts is being retired
SpamExperts spam filtering is being withdrawn. Inbound mail is now filtered by MailScanner and SpamAssassin, with nothing for you to configure.