Email Hosting in AWS

In learning Amazon Web Services, I’m trying to do everything I can on the AWS platform.  It gives me a chance learn more about AWS, and get hands on exposure to the platform.  My first AWS project was to host this blog entirely in AWS.  I’ll go into details in another post, but briefly, I set up an EC2 instance with a WordPress AMI, then I set up the domain using Amazon Route 53.

WIth most other web hosting providers, like (Hostgator, iPage, Bluehost, 1&1) they provide complete packages, giving you the option to host a wordpress blog and give you a hosted email address.

After I figured out Web Hosting in AWS, the question was, how do I set up email hosting in AWS?

The thing I love about AWS, is that everything is manual.  You gotta set up everything yourself. This again is great because it gives us a chance to actually UNDERSTAND how things work.  It brings together the entire world of IT into one amazing, sophisticated platform.

Email Hosting in AWS

Like hosting your own web server, you can use AWS to host e-mail.  And there’s not only one way to do it.  The following are some options:

  1. Amazon Workmail
  2. Amazon Simple Email Service (SES)
  3. Manually Set up an e-mail server on a Linux EC2 instance using an email server solution like iRedMail
  4. Get 3rd party dedicated email hosting (Rackspace, Zoho, GSuite, Office 365), and set it up in Amazon Route53, or in Amazon SES.

I’ll discuss using Amazon Workmail here, as that is what I finished setting up today.

I started off with Amazon SES, which stands for “Simple Email Service.’

I thought that would be the correct solution for me, since it says “Simple Email” and it can be simple,  except that it’s not quite as simple as you might think, at least for the beginner like myself.

Long story short, it is a little tricky to set up both sending and receiving in SES, for personal use.  It’s not impossible, but it requires a bit of reading and learning about about how SES functions.

AWS WorkmailI did some experimentation, and I still haven’t been completely successful, although now after finishing setting up Workmail, I could probably do it through SES as well.

The easiest and most straightforward option if you want a purely AWS email solution, is to go with Amazon Workmail.

Setting up Workmail was trickier for me, because I was playing around with SES at first, which kind of screwed up my Workmail settings.  But after discussion on the AWS developer forums, I learned that an email can be set up very quickly in Workmail, even without having your own domain name.  I already host a domain name in AWS using Route53, so  I  used my own domain name for WorkMail.

  1. After logging into the AWS console, go to the WorkMail service from the main screen.
  2. Create a New Organization. choose Quick Setup then enter any Organization Name.  The organization should be created in a couple minutes.
  3. If you have your own domain, click on domains on the left and add your domain.
  4. Verify your domain on the next screen by entering the DNS records into your DNS hosting provider.  I use Amazon Route53, so I just copied the DNS records directly into my Route53.
  5. The final step is to create an email address.  Do this by creating a new WorkMail User.  If you set up your own domain in WorkMail, choose that for the email address.

That should be it.

The troubleshooting I had to go through was because I tried to set things up using SES first.  I created incoming mail rules that would put all incoming mail into an S3 bucket.  So I had an issue with receiving email in WorkMail, even though I was able to send email out.  A couple exchanges with the experts on the developer forums guided me out of that issue.

After you have email running smoothly from the WorkMail Web Console, (Below is a pretty little screenshot of how the console looks):


AWS Workmail Web App

If you’re like me, you would probably would want to configure your desktop email client for your AWS hosted email account.  Being a Mac user, I’ve been using Mac Mail.  I got fed up with some weird spam email generation that wouldn’t go away, so I switched to a sleeker email client called Poly Mail.  I’ve also enjoyed using Spark Mail.  You can of course choose whatever email client you wish, be it, Microsoft Outlook, Mozilla Thunderbird, Mac Mail, or Opera.

When you add an account in whatever client you choose, the AWS documentation provides the necessary IMAP  (incoming) & SMTP (outgoing) email settings you need to enter.   Make sure you click on that AWS Documentation to get the correct IMAP/SMTP settings for your workmail account.



  • This is an industry standard approach then one you mustn’t try and avoid.
    Education – I get the chance to share my experiences
    with others; I get to show them what I know through articles and blog posts.
    To do this, you have to first know very well what
    SEO (search engine optimization) is.

  • Very clear instructions. It helped me to install Workmail in 20 min. Super!

  • Salam Amir, I wished I read your post prior my journey to SES and being landed on WorkMail exchange choice. There are two issues I am facing with WorkMail now; First, cost is $4 per month per account. This is considered high when you want to setup multiple email accounts on your route53 domain; do you have any solution for that? Second, MacBook Mail client of ‘High Sierra 10.13’ functions funny and does not preview all received emails. Amazon support mentioned the issue as a third party (which is apple in this case) problem. Any alternative solutions but using other email clients?

  • Wasalam.

    I use Polymail. It’s really good for Mac client.

    I agree that with multiple email accounts it will be pricey. I think I only spend $2.50 for my workmail account. But my focus was to learn how to do it in AWS. I didn’t research other services that me be better like g suite for example.

  • Wasalam.

    I use Polymail. It’s really good for Mac client.

    I agree that with multiple email accounts it will be pricey. I think I only spend $2.50 for my workmail account. But my focus was to learn how to do it in AWS. I didn’t research other services that me be better like g suite for example

  • Thanks so much for your detailed instructions. Came in very handy and I am up and running in record time.

Leave a Reply