Search code examples
amazon-web-servicesamazon-ses

In AWS SES, can my send region and receive region be different?


All of my AWS code (API Gateway, Lambda, SQS, EC2, etc) is currently in the Canada Central (ca-central-1) region. I plan to send emails using AWS SES from EC2.

I am trying to enable email receiving in SES using this guide, using a custom email address based on my Route 53 domain (e.g. no-reply@myroute53domain.com). However I just realized that email receiving is not supported in my region, as it is only supported in us-east-1, us-west-2, and eu-west-1.

According to the AWS documentation regarding SES regions I have to repeat the same processes in every region (e.g. email verification, quota increases, SNS, etc). What is unclear to me is: If a user replies to an email sent via SES in one region, can that email be received by SES in another region? That is, if one region (us-east-1) has a rule set passing all emails sent to no-reply@myroute53domain.com over to SNS, could that rule set handle replies to emails that were sent from the former (ca-central-1) region?

Or is the only solution for me to send all my emails from (and migrate all my code to) us-east-1?

Addendum

I also want to confirm that it is not possible to just create no-reply@myroute53domain.com for sending via AWS SES. Because to verify the email address, I have to first enable email receiving, right..?


Solution

  • If one region (us-east-1) has a rule set passing all emails sent to no-reply@myroute53domain.com over to SNS, could that rule set handle replies to emails that were sent from the former (ca-central-1) region?

    Yes, where the emails are sent from doesn't matter. If you set up all your SES stuff in us-east-1, when your EC2 located in Canada wants to send an email, in essence, what the EC2 instance will do is that it will connect to either the API endpoint (email.us-east-1.amazonaws.com) or the SMTP endpoint (email-smtp.us-east-1.amazonaws.com) located in us-east-1, and pass the email content over to them. Therefore technically speaking, all emails are sent from the SES located in us-east-1.

    I also want to confirm that it is not possible to just create no-reply@myroute53domain.com for sending via AWS SES. Because to verify the email address, I have to first enable email receiving, right..?

    Since you own the domain name, it's easier to verify the entire domain in SES instead of verifying a single email address.

    You can send email from any subdomain or email address of the verified domain without having to verify each one individually.