Django -rest-framework не будет отправлять электронное письмо для активации регистрации пользователя - PullRequest
0 голосов
/ 30 мая 2020
  1. Мое приложение DRF, использующее rest-auth и allauth, не будет отправлять электронное письмо для активации нового пользователя, несмотря на эти настройки. Адрес электронной почты пользователя. Пожалуйста, сообщите.

Кроме того, я использую 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

1 Ответ

1 голос
/ 30 мая 2020

Я заметил, что ваш EMAIL_BACKEND установлен в тестовый режим для консоли, а не для smtp. Вы должны изменить его следующим образом:

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