Sending Email from Amazon EC2

Wednesday, April 21, 2010
There have been a few posts around about the proper way to send email using Amazon EC2.  I have found that overall it is not that difficult and Amazon continues to improve their service and fight the spammers.  However, as it stands today in order to send email from your Windows or Linux application you will still need to do a number of things to ensure successful email delivery.  
  1. Configure your email server and assign a new Elastic IP address to it
  2. Setup reverse DNS and ask Amazon to remove your sending limits
  3. Open port 25 on your servers
Depending on your needs you may need to setup an additional instance for your email server.  If you are going this far however, I highly recommend you start outsourcing your email delivery.  I have recently started using a new delivery service called Elastic Email.  Which can be found at http://elasticemail.com.

Elastic Email takes a different approach from traditional email relay services in that it uses a very simple REST API running over Port 80.  This is great news, since you don't have to open any additional ports, or even install and configure an email service like Postfix or IIS.  Instead, you deliver your mail through a simple API call (they have sample code here:  http://elasticemail.com/api-documentation/send) and your mail is delivered.  

Elastic Email is also the least expensive option I could find, for low or high volumes of email.  Elastic Email pricing can be found at http://elasticemail.com/pricing.