gpt4 book ai didi

djangorestauth电子邮件验证

转载 作者:行者123 更新时间:2023-12-02 17:44:04 26 4
gpt4 key购买 nike

有人可以解释如何为 django Rest auth 设置电子邮件验证吗?我的 settings.py 包含:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False

我在 urls.py 中添加了这一行:

url(r'^accounts/', include('allauth.urls')),

但是当我使用此端点注册时:rest-auth/registration/,电子邮件未发送,但用户已创建。发送电子邮件确认的良好配置是什么?我必须有 SMTP 服务器吗?

编辑:(@McAbra 评论后)

显然,此设置无法发送电子邮件:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

它只在 django 控制台输出中打印邮件。@McAbra 给出的设置效果很好。但在生产环境中,使用gmail发送验证邮件是一个好的做法吗?我是否只需创建诸如 noreply.myapp@gmail.com 之类的电子邮件?

编辑2:

我的另一个问题是发送的邮件是空的。该模板位于 site-packages\allauth\templates\account\email 中。邮件标题为[http://localhost:8000/]但没有内容。我在 python 控制台中没有任何错误。有什么想法吗?

Solution for this point:

site-packages\allauth\templates\account\email files must be copied in your-app\templates\account\email

最佳答案

如果您想发送真实的电子邮件,您需要有一个 SMTP 服务器。我喜欢使用 Gmail SMTP 服务器。 settings.py 将是:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'gmail_username'
EMAIL_HOST_PASSWORD = 'password from https://security.google.com/settings/security/apppasswords'

从那里尝试。如果没有帮助,我会尽力提供进一步的帮助。

关于djangorestauth电子邮件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39983504/

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