отправить активировать-email с django-Регистрация

Мне интересно, есть ли способ отправить активированное письмо с именем пользователя, паролем с помощью django-регистрации. Сначала я думал об изменении регистрационной формы, но мне нужен пример.

4 ответов


django-Регистрация использует следующий код, внутренне, для обработки отправки электронной почты:

send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [self.user.email])

Если вы хотите работать, вам нужно будет указать значение DEFAULT_FROM_EMAIL в вашем settings.py.

также обратите внимание на следующее:

почта отправляется с помощью хоста SMTP и порт, указанный в EMAIL_HOST и Настройки EMAIL_PORT. Этот EMAIL_HOST_USER и Параметры EMAIL_HOST_PASSWORD, если задано, используются для аутентификация в SMTP сервер и параметр EMAIL_USE_TLS управляет ли безопасное соединение предназначенный.

Итак, чтобы привести пример, вот что я использовал в 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-registration -

EMAIL_BACKEND = ' django.ядро.почта.внутренний.протокол SMTP.EmailBackend'


django-Регистрация-активировать реализована аналогичная функциональность как django-Регистрация. В основном он предоставляет код для регистрации пользователя, проверки и активации электронной почты, входа пользователя и выхода пользователя.

Если вам нужны примеры для реализации собственного кода, Вы можете проверить views.py и forms.py в register_activate чтобы получить некоторые подсказки.

надеюсь, что ответ поможет. Дайте мне знать, если у вас возникнут вопросы.