由于未经验证的电子邮件,AWS的SES不适用于Django

2024-06-25 23:58:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图以示例用户的身份注册已部署的Django应用程序,但出现了服务器错误(500)

这是错误日志

raise error_class(parsed_response, operation_name)
botocore.errorfactory.MessageRejected: An error occurred (MessageRejected) when calling the SendRawEmail operation: Email address is not verified. The following identities failed the check in region US-EAST-1: webmaster@localhost
2020-07-27 12:32:52,406 [ERROR] /home/app_admin/venv_private_diary/lib64/python3.7/site-packages/django/core/servers/basehttp.py(Line:154)      "POST /accounts/login/ HTTP/1.0" 500 27

在错误消息中“webmaster@localhost“表示Django应用程序发送默认电子邮件地址,因此我已将此语句添加到settings.py

DEFAULT_FROM_EMAIL = 'my@emailaddress.com'

但还是出现了同样的错误消息。 我应该在哪里检查


Tags: thedjango用户py应用程序localhost消息示例
1条回答
网友
1楼 · 发布于 2024-06-25 23:58:48

我也有同样的错误,这是一个简单的错误:我没有在settings.py中正确设置所有django ses变量,特别是那些定义要从中发送的AWS区域的变量:

EMAIL_BACKEND = 'django_ses.SESBackend'

# These are optional   if they're set as environment variables they won't
# need to be set here as well
AWS_ACCESS_KEY_ID = 'YOUR-ACCESS-KEY-ID'
AWS_SECRET_ACCESS_KEY = 'YOUR-SECRET-ACCESS-KEY'

# Additionally, if you are not using the default AWS region of us-east-1,
# you need to specify a region, like so:
AWS_SES_REGION_NAME = 'us-west-2'
AWS_SES_REGION_ENDPOINT = 'email.us-west-2.amazonaws.com'

这是取自the django-SES github page

默认情况下,电子邮件将从AWS地区US-East-1发送,如您的错误中所述,因此我猜这是您的问题

相关问题 更多 >