加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

我怎么能弄清楚为什么django-allauth没有发送确认电子邮件?

发布时间:2020-12-20 13:48:59 所属栏目:Python 来源:网络整理
导读:我正在使用Django-allauth并通过Amazon SES发送电子邮件.我希望所有帐户在他们登录之前验证他们的电子邮件,但电子邮件验证发送似乎无声地失败.我查看了源代码,在那里我看到我应该设置DEFAULT_FROM_EMAIL,但它仍然不起作用. 这是我的配置,以防我忘记任何明显
我正在使用Django-allauth并通过Amazon SES发送电子邮件.我希望所有帐户在他们登录之前验证他们的电子邮件,但电子邮件验证发送似乎无声地失败.我查看了源代码,在那里我看到我应该设置DEFAULT_FROM_EMAIL,但它仍然不起作用.

这是我的配置,以防我忘记任何明显的事情.我将django-smtp-ssl安装为电子邮件后端.非常感谢您的帮助!

# E-mail

EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
EMAIL_HOST = 'email-smtp.us-west-2.amazonaws.com'
EMAIL_HOST_USER = os.environ['EMAIL_USER']
EMAIL_HOST_PASSWORD = os.environ['EMAIL_PASSWORD']
EMAIL_PORT = 465
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'Verified-email <verified-ses-email@example.com>'

# Auth

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
SOCIALACCOUNT_EMAIL_VERIFICATION = True
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'

解决方法

终于找到了我所缺少的东西.

在我的注册视图中,我又添加了一行:

from allauth.account.utils import complete_signup
from allauth.account import app_settings
# some other code
def signup(request):
    if request.method == 'POST':
        form = UserCreateForm(request.POST)
        if form.is_valid():
            user = form.save(request)
            # Added this!
            complete_signup(request,user,app_settings.EMAIL_VERIFICATION,"/")
            # etc...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读