When sending or forwarding emails using a personal or company domain using a website or email client, how do I prevent the email from being incorrectly marked as spam?

  • 9
    You mean "perceived", not "recognized", right? Mar 5, 2011 at 22:37

9 Answers 9

  1. Don't use a fake address, that's reeks of spam

  2. Set up DomainKeys for your domain

  3. Set up SPF for your domain

  4. Put an unsubscribe link in your email

Additionally sometimes domains and IP addresses can often enter into blacklist databases which can cause emails to be triggered as spam or some email providers have been known to reject the emails completely. I recommend that you check both the IP and the domain against major email blacklisting databases, in the event that your IP fails, then I recommend that you request a new shared IP or purchased a dedicated IP.

  • This is useful info, but the links are to Wikipedia, which gives lots of "about" info, and precious little "how to" info. Could you please provide more links here of how to set this stuff up?
    – Shaul Behr
    Sep 7, 2011 at 17:02
  • 2
    Definitely DO NOT use a fake address. That's a sure way to get flagged a spam. Setting up a correct SPF record should remedy most issues once you stop using a fake address. If you're sending emails to a large number of recipients you shouldn't be doing that from a standard email account. Most email servers will treat it as spam. Services like MailChimp or CampaignMonitor will provide you a way send mass emails while adhering to standards the will prevent your messages from being flagged as spam.
    – Jonathan
    May 16, 2012 at 1:52

In addition to the other suggestions, set up Reverse PTR for your mail server's IP address.

  • You may want to mention that this can only be set up on VPS. Jan 24 at 10:40

First things first: are you sending spam (unsolicited mass email)? If you're not operating a strictly opt-in list that is carefully maintained, then you will end up spamming a lot of people, who will get annoyed with you and report you as a spammer (simply by clicking the "mark as spam" button).

If you're not spamming people, then you need to make sure you use an authenticated mail server that isn't being used by spammers. Also, setting up SPF as John Conde suggests will further verify that you're a legitimate mail sender since receivers can use reverse DNS to verify the sender is the owner of the domain the email is coming from.

There are also content checkers that try to see if your email contains any spammy text, but as long as you're not writing stuff like "FR3E VI4GR4!!! F4KE R013X" in your emails, this isn't a big issue these days.

Also, what volume of email are you sending? What is your opt-out policy? If you're on a large web host with a decent tech support, you could consult them and see what they suggest. Usually legit web hosts have a vested interest in not getting their IP blacklisted as a spam source.


If you're a seriously large sender, beware--The big three (Google, MSN/Hotmail, and Yahoo as well as that wanna-be monster AOL) all seem to have serious challenges to people who send more than X number of emails to them per second (honestly, that number is not published as far as I know). Regardless of what you do, regardless of how legit you are, they all seem to get touchy when you jam a bunch of email down their throats. It's worse when you're just getting started and they don't "trust" you yet.

The "big" senders such as Socketlabs, SMTP.com etc all throttle sending to sites in the beginning, but especially the big hosts. We were having some similar issues with a well established, properly setup host. When we added a short delay between sends to similar hosts (i.e. when our server sends an email to hotmail followed by another email to hotmail, it delays a few miliseconds) our delivery rate to those hosts skyrocketed. Sure, it slows down sending at little bit, but we're still able to get out several hundred thousand emails a day without fail.

Know, however, that you can never guarantee that an email will not be spam or even 100% guarantee that it'll be delivered. Between overzealous spam rules, inept users, the blackhole of AOL and connectivity challenges of a nationwide network, there are a million and one reasons why your email may never reach an inbox. The only thing you can do is ensure that you've covered your bases and that from your end it's good to go.


How do you know your mail is being flagged as spam? Are legit users telling you that that's the case? Will they help you out by sending you copies of the mail? Anti-spam systems such as SpamAssassin will put headers in the email explaining what rules were broken that got you flagged as spam.

So get a copy of some mail that got flagged as spam, and see what it says.


First you must know why a mail goes to SPAM folder.

  1. First a mail is recognized by its subject. Subject line should not consist any word like free etc., as you are selling something
  2. Subject and body should also not contain vulgar or spam words.
  3. You need to know whether your IP address is listed in DNSBL. You can search for it from http://www.blacklistmaster.com/.

If your from address and the server address differ, that could result in spam.

How are you sending the mail? ie, what programming language?


You should take a look at MailJet which provide a SMTP server for you. You just need to send your email using their SMTP. Usually you can do it in your conf and if you use Swift mailer, it's damn easy.

It's really transparent to implement. And then you can track sent emails, how many open, click, etc ...


It's important that the ip is not blacklisted in the popular spam-databases. After that you have to send mails via SMTP not via any other method. For examples PHPs build in mailer allows using not existing mail adresses. So mails send via this mailer often tend to be spam.

And after all you shouldn't use dynamic ip addresses if your sending from home.

Not the answer you're looking for? Browse other questions tagged or ask your own question.