If you send a lot of email to people, undoubtably you've received rejection emails something like this:
Sorry, your message from your@email.com to who.you@want.to.email.com could not be delivered. The specific error is:
450 4.3.2 your@email.com... graylisted - please try again later
It's frustrating that you can't get through, and it's even more frustrating when you don't get that email for 2 weeks, which is not unusual.
The problem boils down to anti-spam filters. Thanks to a bunch of jerks that just won't stop sending junk mail, people have to filter their mail for it. Which is great, but really stinks when you try to send legitimate email and can't get through.
Now, if this hasn't happened to you, rest assured that it will. It happens to me quite a bit, but then again, I'm responsible for sending a lot more email than your average user. I send normal emails, automated emails, and bulk email to people that subscribe to my email lists through double opt-in. But let's get down to how to avoid being blocked.
There are a lot if different criterion that spam filters use to get rid of your emails. Here are just a few:
- Subject line
- Body text
- Malformed email
- IP address
- Reverse DNS
- Non-embedded images
- Lots more...
Some of those you really don't need to worry about much. e.g. When was the last time you sent an email to anyone with the subject line, "Get free viagra samples"? As long as you aren't using typical spam email text in your subject line and the email of your body, you won't have problems there. This is simple enough. Others aren't so easy.
For malformed email, as long as you are using an email client that send regular email that follows the RFC, then you're pretty safe. Many spam programs are low quality and don't follow the RFC. This also goes for images. You should never hotlink images into your email from a server. That just screams "bulk email" and earns your email spam points. Once it's over a certain threshold, it's labeled spam and the person you sent it to never gets it.
An absolute email killer is your IP address. More precisely, the IP address of the SMTP server that you are sending email through. This is really important. Many ISPs and companies have spam filters that filter out entire IP ranges, including entire countries. To get around this, you have to use an SMTP server that is located somewhere that is not black-listed. The United States is a good place to host your email server. Hosting it in Asia is just a bad idea as a lot of spam comes from Asia and many countries are black-listed there.
But that's not enough. The IP address that you use for your SMTP server needs to be clean. Many anti-spam zealots blindly list IP address and IP ranges from 1 or 2 spam reports. The companies and ISPs that use these spam black-lists then block legitimate email coming from those IP addresses whether they are legitimate or not. Here's an example:
Johnny Spammer gets some web hosting at Good Web Host. He then proceeds to send millions of spam emails to his massive list of email addresses. Naturally, people report it as spam, and the IP address and domain get listed as "spam" addresses. So, mail.johnnyspammer.com and that IP address, 123.123.123.123, are now useless for sending email. Good Web Host finds out, and kicks Johnny Spammer off of their servers. Johnny Spammer doesn't care - he goes to another company to help him send spam. Then you come along...
You happily set up your email servers and get assigned the 123.123.123.123 IP address, not knowing that Johnny Spammer has ruined that IP address. You start sending your emails, and wonder why you're getting it returned to you, or why people never get your emails. Well... You should have asked Good Web Host about it before you bought the servers and you should have checked some of their IP addresses with the anti-spam zealot databases. e.g. SPEWS - one of the worst anti-spam zealots around. Their database is not well maintained and includes a lot of legitimate IP addresses - and they are very popular - a lot of people use their database, unfortunately.
And that's the most important thing you can do to make sure that your email gets through - check the IP addresses and make sure that you are using a reputable company when you first set up your email servers.
If you are using a shared email server through a web host, you will have problems. The only way is to get your own server and make sure that it is properly configured. That includes ensuring that a reverse IP lookup returns the proper domain - mail.yourdomain.com. In other words, you need a dedicated email server with your own IP address. You can't share with anyone else.
How much is a dedicated server? Well, you can spend as little as about $80.00 a month, all the way up to thousands of dollars per month. Email is becoming more and more costly...
Now, you might be there thinking, "This guy is full of BS. I send email all the time and never have this problem and I use shared hosting, blah blah blah." Good for you - you're lucky. Once you start emailing more people with a wider variety of email addresses in different parts of the world, you'll soon find out just how difficult it is to send email.
I've experimented with different IP addresses, on different servers, in different IDCs, with different domains, in different countries, blah blah blah, and believe me - I've tried it all.
Now the above isn't a bullet-proof way to get your email through, but it's probably the most important, and the first step in ensuring emails get through. If you've got that covered, you'll avoid a very large number of bounces and rejections. As long as you're sending legitimate emails, you should have very few problems.
Cheers,
Renegade