尝试使用SES SendEmail操作时任务超时

问题描述 投票:0回答:1

我正在尝试使用带有Python 3.7 lambda函数的AWS SES发送电子邮件。

[当我尝试测试该功能并查看它是否发送电子邮件时,我收到一条消息,说明任务已超时。它到达了发送消息的代码部分,但是消息在任何时候都没有被发送,并且任务刚刚超时。

这是我用来发送消息的代码:

from __future__ import print_function
import boto3
import json
import decimal
from datetime import datetime
from boto3.dynamodb.conditions import Key, Attr
from botocore.exceptions import ClientError

ses = boto3.client(
    'ses', 
    region_name = 'us-east-1', 
    endpoint_url = 'https://email.us-east-1.amazonaws.com'
)

try:
    response = ses.send_email(
        Destination = {
            'ToAddresses': [
                email
            ],
        },
        Message = {
            'Body': {
                'Html': {
                    'Charset': CHARSET,
                    'Data': BODY_HTML
                },
                'Text': {
                    'Charset': CHARSET,
                    'Data': BODY_TEXT
                },
            },
            'Subject': {
                'Charset': CHARSET,
                'Data': SUBJECT
            }
        },
        Source = SENDER
    )
except ClientError as e:
    print(e)
else:
    print('Email sent! Message ID:'),
    print(response['MessageId'])

以上所有变量均在代码中进行了硬编码,并且绝对有价值(我已将其打印到控制台以确保其价值。)>

我正在尝试使用具有Python 3.7 lambda函数的AWS SES发送电子邮件。当我尝试测试该功能并查看它是否发送电子邮件时,我收到一条消息,说明任务已超时。 ...

python aws-lambda timeout boto3 amazon-ses
1个回答
0
投票

[您的endpoint_url = 'https://dynamodb.us-east-1.amazonaws.com'似乎指向了DynamoDB,它在SES客户端中似乎无效。尝试删除它:

© www.soinside.com 2019 - 2024. All rights reserved.