Inbound email in the cloud

Many people think there's something special or different about cloud servers and email. There's not. It works just like any other machine or virtual machine. The only reason you need to relay mail out through a trusted MTA/SMTP server is due to the IP address association with Amazon's EC2 and its position on virtually every block list in the world (a testimony to how poorly and irresponsibly most people run their instances, but mostly a matter of EC2 policy and paranoia).

Inbound email is unmolested, just like inbound SSH, FTP, etc. We just open up the firewall and receive email.

You can establish local POP, IMAP, etc. A simple DNS entry making that email server the recipient for that given domain works just like any other mail server.

There is an alternative. You can set your application to POP email from your email server outside the EC2 world. If, for example, you wanted to check email hosted by Gmail or GoDaddy, you could simply set up a POP program to pull mail just like you would from your desktop computer. This doesn't necessarily improve performance or reliability. It may, however, allow you to more easily set up an application to run on multiple instances. In the cloud, the big advantage is setting up parallel growth for traffic and application stress. When your application has more to do, it's nice when it can launch more servers to do that work.