Sending E-Mail from the Cloud

Some cloud computing IaaS services let you send mail and others do not.  This fact can make sending email from cloud hosted applications challenging or at least require more 3rd party systems outside your cloud.  This post is about using Rackspace Cloud Servers and being able to send mail from your application servers or as an SMTP relay.  That is a possibility on Rackspace Cloud Servers.

I've been doing a good bit of work with Rackspace cloud servers for the last few months for various projects.  Rackspace does let you create and properly apply DNS settings to a cloud server for the purpose of sending mail to clients.  This is nice in many cases as it allows you to avoid setting up an espensive server elsewhere or using a 3rd party relay service.

Be aware that there are any number of things I have left out or not discussed here. This isn't really meant to be a thorough how to article. This is just an overview showing something that is possible.

Here are the very high level steps and links to some of the pertinent resources you'll need.

  1. Launch a Server from your manage.rackspacecloud.com portal
  2. Install and Configure PostFix on that server.
  3. Set your DNS Records
    1. SPF -Sender Policy Framework. You cannot skip this or your mail will not get delivered.
    2. Reverse DNS - This resides on the Rackspace side.  You cannot skip or mail will not be delievered.
    3. MX - This is done at your DNS server/provider.  Mandatory as well.
  4. Check your firewall settings, there are firewall issues to consider
  5. Send Mail happily from that server, or do a little more work and set it up as a relay server for your environment.  But, make sure you're not an open relay please!!

Random thoughts while I was typing this post:

  • $0.015 per hour to start for this service! No per message pricing.
  • If you start getting busy you can resize the server using the GUI resize tools
  • If you're using some of the beta IP grouping features you can build an HA service easily
  • Integration of cloud files for log storage should you wish to keep them
  • Support is available and solid. They will help you if you need help. They mean it when they say they are fanatical about the support thing.
  • If you want to get some monitoring on this (or other) boxes, use munin. Works great.

That is all for now.  Enjoy!