1

我正在用 Python 编写一个 Lambda 函数,它将使用 AWS SES 发送电子邮件。

但是,在我的测试 AWS 账户中,我不想向真实用户发送电子邮件。

所以我想进行这样的检查,

如果 Account_Status = SANDBOX,则向预先验证的默认收件人发送电子邮件。(例如公司内部电子邮件地址)

如果 Account_Status = PROD,则向真实用户的电子邮件地址发送电子邮件。

但我在 ses 客户端中找不到任何相关的 boto3 方法,它可以为我提供帐户状态。

我试过response = client.get_account_sending_enabled() 了,但 true即使帐户在沙箱中,它也会返回..

4

1 回答 1

3

您可以改用 sesv2 api,它在get_account()函数的响应中直接定义了一个标志。

client = boto3.client('sesv2')
response = client.get_account()
print(response['ProductionAccessEnabled'])

从文档中:

ProductionAccessEnabled (boolean) --

指示您的账户在当前 Amazon Web Services 区域中是否具有生产访问权限。

如果该值为 false,则您的帐户在沙箱中。当您的帐户在沙盒中时,您只能向经过验证的身份发送电子邮件。此外,您在 24 小时内可以发送的最大电子邮件数量(您的发送配额)为 200,您每秒可以发送的最大电子邮件数量(您的最大发送速率)为 1。

如果值为 true ,则您的帐户具有生产访问权限。当您的帐户具有生产访问权限时,您可以向任何地址发送电子邮件。您账户的发送配额和最大发送速率因您的具体使用案例而异。

于 2022-01-12T17:59:05.990 回答