有人能解释一下如何在django rest auth中设置电子邮件验证吗?
我的settings.py包含以下内容:
当我使用这个端点进行注册:
显然,此设置无法发送电子邮件:
它只在Django控制台输出中打印邮件。@McAbra提供的设置很有效。但是,在生产环境中,使用Gmail发送验证电子邮件是否可行?我只需要创建这样的电子邮件
解决办法如下:
必须将
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控制台中没有错误。有什么想法吗?解决办法如下:
必须将
site-packages \ allauth \ templates \ account \ email
文件复制到your-app\templates\account\email
中。
EMAIL_BACKEND
,那么你会在控制台中打印出一个“电子邮件”。 - McAbraINSTALLED_APPS
中包含allauth
。 - McAbra