Django-rest-framework不会发送用户注册激活电子邮件

问题描述 投票:0回答:1
  1. 尽管有这些设置,我的使用rest-auth和allauth的DRF应用程序仍不会发送新的用户电子邮件激活邮件。
  2. 我所得到的是一个控制台日志,注册后已发送了一封电子邮件,但没有任何邮件打到用户电子邮件。请告知。

[此外,我使用gmail,并且在我的gmail帐户中启用了不安全的应用程序来发送电子邮件。

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = get_secret('EMAIL_ADDRESS')
EMAIL_HOST_PASSWORD = get_secret('EMAIL_PASSWORD')    
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_AUTHENTICATION_METHOD = 'username'

INSTALLED_APPS = [
    'corsheaders',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'coin_app.apps.CoinAppConfig',
    'allauth',
    'allauth.account',
    'rest_auth.registration',
    'rest_framework',    
    'rest_framework.authtoken',
    'rest_auth',
    'allauth.socialaccount',
]

我的开发环境

Django==3.0.3
django-allauth==0.41.0
django-cors-headers==3.2.1
django-rest-auth==0.9.5
djangorestframework==3.11.0
djangorestframework-jwt==1.11.0
django-rest-framework django-allauth django-rest-auth
1个回答
0
投票

我注意到您的EMAIL_BACKEND设置为控制台而不是smtp的测试模式。您必须按如下所示更改它:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
© www.soinside.com 2019 - 2024. All rights reserved.