When you’re building a new app from the ground up, everything is shiny and new. As a startup, you talk for hours with your co-founders about your vision, how to get customers and which features to roll out. You spend every waking hour together writing code. Finally you’re ready to push to production. Maybe you’ve been developing on your local box, a virtual machine or colo’d a server in a data center. The magical day comes when you launch your product to the world!
Then reality sets in and you experience growing pains. webcast with Engine Yard focused on the technical challenges developers face when managing email delivery in house. You can check it out called If Your Product Emails Your Users, Good Luck!, don’t worry because you can watch it during your lunch break.
I had the opportunity to work with Engine Yard to create and deliver this webcast focusing on what developers want — more free time and less hassle with technology.
With Jacob Lehrbaum as the Engine Yard host, I took attendees through the three important aspects of email delivery:
Sending Email Is Easy, Getting It Delivered is Another Story How email is delivered from your application to your customer’s inbox is not a direct process as the email request goes through several checkpoints to filter out spam and all of them can prevent your email from being delivered.
Spam is Everywhere
According to a 2011 study conducted by Symantec MessageLabs, 76% of emails each day are spam. This causes huge headaches for ISP’s, network administrators and everyone who has to trudge through their inbox.
Keep It Legal And Don’t Spam The Internet
The CAN-SPAM Act was enacted in 2003 to provide companies and individual protection and relief from spammers. While you cannot directly sue a spammer, the FTC, ISP’s and federal agencies can pursue criminal and civil action against spammers.
Writers Aren’t The Only Ones Who Worry About Blacklisting
Email blacklisting occurs when your mail server’s IP address is added to a list and other mail servers begin rejecting your email. This occurs because the list you were added to is meant to protect companies from spam. One way to end up on this list is to send an email to a honeypot — this is a fake email address setup on the internet to catch spammers. If your company purchases email lists (a big no no) then there could be a honeypot email address on it and once notified, companies that maintain email blacklists like Spamhaus, will block you. You can check to see if your domain’s mail (MX) records or IP address has been listed using sites like MXToolbox. It’s a hassle to get off these lists, so:
Best Practices To Increase Deliverability With Your Own Email Server
Your goal is to increase the level of trust between your email server and your customer’s receiving servers. Be specific and explicit whenever possible. One way to do this is to append information to your DNS records and sent emails.
SPF Records can be added to your domain DNS records to specify the IP addresses that have permission to send email from your domain. This reduces the chances of email spoofed from your domain affecting your deliverability and many email servers look for these records.
DKIM allows receipient mail servers to verify the message was sent from your domain by comparing the key that arrived with the email against the public key associated with your domain name through your DNS records. There are a few more steps to follow compared to SPF records. You’ll need to generate a DKIM key, attach it to your DNS via a TXT file and then turn on authentication so receiving mail servers can validate emails by comparing the public key.
Audience Question: Why is my email being delayed to the inbox?
This is a common question developers have and it can happen when you send a large volume of email to a server and you appear to be a spammer. The receiving mail server puts your email in a queue until it can assess your reputation based on your IP address, if there is a valid SPF entry in your DNS records and if your domain or IP has been blacklisted.
If this all sounds a bit too much just to send email, it’s a great time to explore SendGrid that makes this process a snap.
Getting Signed up for SendGrid
If this all sounds like a lot of effort to ensure your customer emails are getting through, it is! Engine Yard want you to focus on your code, not spam reports and has partnered with SendGrid to offer you the ability to send email via their web API or SMTP relay.
To get started with sending emails from your EngineYard, head here. There is a free developer plan that allows you to send 200 emails per day and gives you full access to all of the API’s.
SendGrid is easy to setup (SendGrid documentation) and you will find libraries, code examples and best practice recommendations. SendGrid gives you delivery analytics for your emails such as open and click rates, bounces, delays and more.
Here are links new customers find helpful:
Warming up your IP with Sendgrid [http://sendgrid.com/docs/User%20Guide/warming_up.html]
Test your API calls with SendGrid’s API Workshop [http://sendgrid.com/docs/API%20Workshop/index.html]
Want to learn even more? Check out our webcast on the topic of email best practices.
Adria is a developer evangelist at SendGrid. Originally from Minnesota but now living in San Francisco, she attends hackathons, conferences and local meetups showing developers how to leverage the SendGrid API. Adria has been a speaker at SXSW, O'Reilly Web 2.0, BlogHer and is involved in helping women programmers like herself learn to code. Loves bacon, snowboarding and endless Wikipedia surfing.Adria Richards on Twitter