Mail will be marked as spam by major ISPs (including webmail providers like gmail, hotmail, yahoo) for several possible reasons:

  1. If you're sending it from a residential IP address
  2. If you're sending it from an IP address with a poor reputation
  3. If you're sending mail which matches certain patterns (these are hard to describe, but software looks for things like "Congratulations, you've won $1 billion!", in a fuzzy-matching sort of way).
  4. If you send too much mail to the ISP too fast
  5. If too many people at the ISP click the "This is spam" button on your emails
  6. If you don't use SPF to identify which mail servers for your domain may send email, and which servers may not
  7. If you don't use DKIM to sign your messages
  8. If you haven't requested permission to be a "bulk sender" (some offer this like AOL and hotmail)
  9. If you IP address is on any DNS blocklists

and many, many other possible reasons.

You can check the reputation of your IP address at https://www.senderscore.org/
You can check if you're on various blocklists at http://www.mxtoolbox.com/blacklists.aspx


In addition to all the steps in the excellent accepted answer a number of the largest e-mail providers have special tools and program's for (bulk) senders that will help you to prevent your valid email from getting marked as spam. Fairly typical are feedback loop programs that allow you, as the sender, to respond to spam complaints from recipients, instead of getting blacklisted immediately as a Spam sender.

There are still no guarantees though.

Microsoft responsible for among others @hotmail.com, @live.com, @outlook.com and @msn.com offers:

  • The Junk Mail Reporting Program JMRP for domain owners.
  • The Smart Network Data Service SNDS is intended for mostly for owners of IP space rather than individual domains.

Google's @gmail.com offerings:

  • Similar recommendations as in the answer above.
  • The postmaster toolbox on postmaster.google.com which is intended for domain owners.

AOL offers:

  • Feedback loops, Whitelist request and a bunch of tools on https://postmaster.aol.com/
  • Their mailservers generate specific error messages as well, which you can find in your mail logs/bounced messages and which can help diagnose delivery issues.

And undoubtedly many more!