- 尽管有这些设置,但我使用 rest-auth 和 allauth 的 DRF 应用程序不会发送新用户电子邮件激活邮件。
- 我得到的只是一个控制台日志,该日志在注册后发送了一封电子邮件,但没有击中用户电子邮件。请指教。
此外,我使用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
我注意到您的EMAIL_BACKEND设置为控制台而不是 smtp 的测试模式。您必须按如下方式更改它:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'