How can I use Amazon SES to receive inbound emails, and then store those emails on Amazon S3?

2 minute read
0

I want to use Amazon Simple Email Service (Amazon SES) to receive and store inbound emails.

Resolution

Set up an Amazon Simple Storage Service (Amazon S3) bucket with the permissions to store your inbound emails. Then, create an Amazon SES receipt rule that sends your inbound emails to your Amazon S3 bucket.

Use an Amazon S3 bucket to store inbound Amazon SES emails

Complete the following steps:

  1. Verify that your endpoint is in an AWS Region that supports email receiving.
    Note: Except for Amazon S3 buckets, the AWS resources that you use to receive email must be in the same region as your Amazon SES endpoint.
  2. Verify the domain that you want to use for receiving emails.
  3. Add a mail exchanger record (MX record) to your domain's DNS configuration. Be sure to include an Amazon SES inbound receiving endpoint in the domain's DNS configuration.
  4. Use the Amazon S3 console to create an Amazon S3 bucket.
  5. Create an AllowSESPuts policy that gives Amazon SES permission to write to your Amazon S3 bucket. Be sure to note the following policy values:
    The AWS Region where you create the receipt rule.
    Your AWS Account ID.
    The name of your rule set.
    The name of your receipt rule.
  6. If you activate server-side encryption with AWS Key Management Service (AWS KMS), then give Amazon SES permission to use your AWS KMS key. Be sure to add the kms:decrypt policy action.
  7. Create a rule set and a receipt rule. Be sure to use the same values that exist in the AllowSESPuts policy statement that you created in step 5. On the Add actions page, open the Add new action menu, and then choose deliver to an S3 bucket action.

Verify that inbound emails reach your Amazon S3 bucket

Use the Amazon SES console to send a test email to your domain. Then, check your Amazon S3 bucket for the test email that you sent.

Note: It can take a few minutes for the test email to appear.

Related information

Why aren't my inbound emails on Amazon SES arriving or saving to my Amazon S3 bucket?
Setting up Amazon SES email receiving

5 Comments
  1. In the navigation pane, under Email Receiving, choose Rule Sets. In this step I don't see "Email Receiving". Why?
replied 2 years ago

Thank you for your comment. We'll review and update the Knowledge Center article as needed.

profile pictureAWS
MODERATOR
replied 2 years ago

@rePost-User-1773121 the Email Receiving option is not available in all AWS regions. At the moment only 3 regions support Email Receiving: https://docs.aws.amazon.com/ses/latest/dg/regions.html#region-receive-email

AWS
replied 2 years ago

Where can I find documentation on how to receive emails in an external email client like Thunderbird? Sending works fine and the emails are stored in an s3 bucket and received in workmail, but never received in the email client. thanks

replied 2 years ago

Thank you for your comment. We'll review and update the Knowledge Center article as needed.

profile pictureAWS
MODERATOR
replied 2 years ago