В Django-allauth: отправить приветственное сообщение эл. почты при регистрации (без проверки)

Как я могу отправить приветственное письмо пользователю, который подписывается на приложение django (используя django-allauth). Если я установлю ACCOUNT_EMAIL_VERIFICATION = ("mandatory"), он отлично работает,и пользователь получает письмо с подтверждением. Но поскольку я не требую проверки электронной почты, пользователь должен просто зарегистрироваться и получить приветственное письмо.

settings.py-

ACCOUNT_AUTHENTICATION_METHOD = ("email")
ACCOUNT_EMAIL_VERIFICATION = ("none")
ACCOUNT_SIGNUP_PASSWORD_VERIFICATION  = False
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_USERNAME_REQUIRED = False
EMAIL_CONFIRMATION_SIGNUP = True
ACCOUNT_EMAIL_REQUIRED =True
LOGIN_REDIRECT_URL = '/'
LOGOUT_URL = '/'
ACCOUNT_LOGOUT_ON_GET =False
ACCOUNT_LOGOUT_REDIRECT_URL = '/'
SOCIALACCOUNT_QUERY_EMAIL = (ACCOUNT_EMAIL_REQUIRED)
SOCIALACCOUNT_AUTO_SIGNUP = True
SOCIALACCOUNT_AVATAR_SUPPORT = ( 'avatar' in INSTALLED_APPS)
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '##'
EMAIL_HOST_PASSWORD = '##'
EMAIL_PORT = 587
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

есть ли какие-либо настройки, которые я пропустил, которые отправляют приветственную почту регистрации? Или я должен передать это через свои взгляды? Не могу понять, как это сделать. Любой было бы здорово помочь. Спасибо.

2 ответов


нет нет таких настроек, но вы можете прослушать user_signed_up сигнал, который будет иметь user и request в параметрах. После того, как он получил отправить письмо пользователю.

поместите приведенный ниже код где-то в :

from allauth.account.signals import user_signed_up
from django.dispatch import receiver

@receiver(user_signed_up, dispatch_uid="some.unique.string.id.for.allauth.user_signed_up")
def user_signed_up_(request, user, **kwargs):
    # user signed up now send email
    # send email part - do your self

allauth действительно отправляет только письма с подтверждением. Но он различает первое (Регистрация) письмо с подтверждением и следующие (например, когда пользователь добавляет второй адрес электронной почты).

для этой цели allauth имеет " подтверждение по электронной почте при регистрации" шаблон (account/email/email_confirmation_signup_message.txt, account/email/email_confirmation_signup_subject.txt).

при использовании встроенных шаблонов это гибридное подтверждение / Регистрация / приветственная почта идентична обычному шаблону подтверждения электронной почты, но вы можете переопределить его и поместить свой приветственное сообщение. Кроме того, set ACCOUNT_EMAIL_VERIFICATION to "optional".

если все это не соответствует вашим потребностям, то вы можете подключение к user_signed_up сигнал и отправить простой приветственное письмо самостоятельно.