Skip to main content
 首页 » 编程设计

python之Django 电子邮件后端

2025年02月15日27softidea

我正在本地开发一个 django 应用程序并尝试将其配置为使用 Amazone SES 服务发送电子邮件。我已经安装了 django-ses并将其添加到我的 settings.py 中:

EMAIL_BACKEND = 'django_ses.SESBackend' 
AWS_SES_REGION_NAME = 'us-west-2' 
AWS_SES_REGION_ENDPOINT = 'email.us-west-2.amazonaws.com' 
AWS_ACCESS_KEY_ID = '...' 
AWS_SECRET_ACCESS_KEY = '...' 

不幸的是,mail.get_connection() 返回它仍在使用 django.core.mail.backends.console.EmailBackend;在 shell 中和开发服务器运行时。

当我尝试使用 django.core.mail.backends.smtp.EmailBackend 进行正常的 smtp 配置路由时,它的行为也是一样的......

关于它为什么不进行转换的任何想法?

请您参考如下方法:

根据django docs EMAIL_BACKEND 的默认值是 django.core.mail.backends.smtp.EmailBackend,而不是 django.core.mail.backends.console.EmailBackend,所以它可能是稍后在设置文件中再次设置。

您还可以打印 EMAIL_BACKEND 的值以确定问题出在函数还是变量。

from django.conf import settings 
print(settings.EMAIL_BACKEND)