gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:55:08 25 4
gpt4 key购买 nike

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

当我尝试测试该功能并查看它是否发送电子邮件时,我收到一条任务超时的消息。
它到达发送消息的代码部分,但消息始终没有发送,并且任务刚刚超时。

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

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'])

以上所有变量都硬编码在代码中,并且肯定具有值(我已将其打印到控制台以确保它)。

最佳答案

我也遇到了同样的问题(但是使用的是nodejs)。我发现这些答案可能对您有帮助,看起来像是 aws 的网络问题。 https://forums.aws.amazon.com/thread.jspa?threadID=232508 https://github.com/aws/aws-sdk-js/issues/1451

编辑:在类似情况下,对我来说最简单的解决方案是使用 SNS 调用不在 VPC 内的另一个 lambda。第二个 lambda 用于调用 SES 服务。您可以为 SNS 创建终端节点并将其连接到 VPC。

关于python - 尝试使用 SES SendEmail 操作时任务超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com