无法在AWS Lambda上创建Boto ses客户端以发送邮件

时间:2019-01-04 10:04:50

标签: python aws-lambda amazon-ses

我的python代码在Lambda上不起作用,当我从本地python环境中运行该代码时,它工作得很好。每当我尝试在Lambda函数上创建SES对象时,都会出现此错误:

Response:
{
  "errorMessage": "Unable to import module 'lambda_function'"
}

这是我的代码:

def lambda_handler(event, context):

    connection = boto.ses.connect_to_region('us-east-1')


    return connection.send_email(
            from_addr,
            subject,
            None,
            to,
            format= format,
            text_body=text,
            html_body=html
        )   

lambda不支持与boto.ses相关的事情,我必须使用boto3来代替?

此lambda函数包含多个部分,最后我必须创建SES对象以将邮件发送给客户端,但是当我尝试这样做时,却出现此错误

1 个答案:

答案 0 :(得分:0)

这几天,强烈建议使用boto3

语法是:

import boto3

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

response = client.send_email(
    Source='string',
    Destination={
        'ToAddresses': [
            'string',
        ],
        'CcAddresses': [
            'string',
        ],
        'BccAddresses': [
            'string',
        ]
    },
    Message={
        'Subject': {
            'Data': 'string',
            'Charset': 'string'
        },
        'Body': {
            'Text': {
                'Data': 'string',
                'Charset': 'string'
            },
            'Html': {
                'Data': 'string',
                'Charset': 'string'
            }
        }
    },
    ReplyToAddresses=[
        'string',
    ],
    ReturnPath='string',
    SourceArn='string',
    ReturnPathArn='string',
    Tags=[
        {
            'Name': 'string',
            'Value': 'string'
        },
    ],
    ConfigurationSetName='string'
)

请参阅:SES — Boto 3 Docs documentation