Search code examples
pythonamazon-web-servicesaws-lambdaboto3amazon-ses

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


Solution

  • 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.