Naeem
Naeem

Reputation: 91

AWS SES Email using boto3 through python lambda function

boto3.client('ses').send_email(
        Source = email_from,
        Destination={
            'ToAddresses': [
                email_to,
            ]
        },
        Message={
            'Subject': {
                'Data': emaiL_subject
            },
            'Body': {
                'Text': {
                    'Data': email_body.format(user_password)
                }
            }
        }
    )

I am using boto3 SES, after execution of the above code through lambda function I am getting the following error:

Could not connect to the endpoint URL: \"https://email.ap-southeast-1.amazonaws.com/\

For Lambda function my region is ap-southeast-1

Any Help will be appriciated

Upvotes: 0

Views: 4250

Answers (3)

Girish Sharma
Girish Sharma

Reputation: 146

At the time of writing this, AWS offers its SES service only for 6 regions:

  • US East (N. Virginia) us-east-1
  • US West (Oregon) us-west-2
  • EU (Ireland) eu-west-1
  • AP (Mumbai) ap-south-1
  • AP (Sydney) ap-southeast-2
  • EU (Frankfurt) eu-central-1

Use one of the above as your AWS_REGION

client = boto3.client('ses',region_name=AWS_REGION)

Note: Look for the latest list of regions on AWS website.

Upvotes: 4

Mayank Maheshwari
Mayank Maheshwari

Reputation: 303

You can always check the status of AWS services and their availability in different regions before using at https://status.aws.amazon.com/.

Upvotes: 0

Naeem
Naeem

Reputation: 91

Problem is solved by a hardcode region string 'us-east-1'

Now I am creating the client as:

boto3.client('ses', 'us-east-1')

I think this was due to the unavailability of SES in Singapore region.

Upvotes: 0

Related Questions