Отправить Activate-Email с Django-регистрацией
-
04-10-2019 - |
Вопрос
Мне любопытно, если есть способ отправить активированную электронную почту с именем пользователя, пароль с помощью Django-регистрации. Сначала я подумал о модификации регистрационной формы, но мне нужен пример.
Решение
Django-регистрация Использует следующий код, внутренне, чтобы обработать отправку электронных писем:
send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])
Если вы хотите работать, вам придется указать значение Default_from_email в настройках .py.
Также обратите внимание на следующее:
Почта отправляется с помощью хоста SMTP и порта, указанного в настройках электронной почты_хост и электронной почты. Настройки электронной почты email_host_user и email_host_password, если установлены, используются для аутентификации на SMTP-сервере, а настройки электронной почты email_use_tl контролируют, используется ли безопасное соединение.
Итак, чтобы привести пример, вот что я использовал в файле settings.py, чтобы использовать учетную запись Gmail:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'my@gmail.com'
EMAIL_HOST_PASSWORD = 'my_emails_password'
Django-регистрация Должен тогда быть в состоянии отправлять электронные письма.
Другие советы
Email_port = 465 работал несколько лет назад. Теперь вам нужно использовать порт 587 с Gmail. Причина: Django не поддерживает SMTP с SSL с самого начала. Только команда starttls поддерживается после настройки простого текста. Gmail, однако, больше не поддерживает эту опцию на порту 465.
Надеюсь, это поможет кому-то. После устранения неполадок в течение получаса я понял, что пришлось явно указать это, а также с использованием Django-регистрации -
Email_backend = 'django.core.mail.backends.smtp.emailbackend
Django-Register-Activate внедрено аналогичная функциональность как Django-регистрация. В основном он предоставляет код для регистрации пользователя, проверка электронной почты и активации, логин пользователя и выбору пользователя.
Если вам нужны примеры для реализации вашего собственного кода, вы можете проверить просмотр .py и forms.py в register_activate. чтобы получить подсказки.
Надеюсь, что ответ поможет. Дайте мне знать, если у вас есть дополнительные вопросы.