Я хочу отправить электронное письмо пользователю всякий раз, когда пользователь регистрируется.Я написал код для отправки электронной почты в своем forms.py
Ниже приведен фрагмент кода:
forms.py
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from django.core.mail import EmailMultiAlternatives
from django.template.loader import get_template
from django.conf import settings
#User registration form
class UserRegisterForm(UserCreationForm):
email = forms.EmailField() #default is required=True
class Meta:
model = User #user model will be affected
fields = ['first_name','username','email','password1','password2']
def send_email(self):
name = self.cleaned_data.get('first_name')
username = self.cleaned_data.get('username')
to_email = self.cleaned_data.get('email')
password = self.cleaned_data.get('password')
subject = 'Login details for Django_app'
from_email = settings.EMAIL_HOST_USER
context = {
'name': name,
'username': username,
'email': to_email,
'password': password,
}
plaintext = get_template('register_email.txt')
htmly = get_template('register_email.html')
text_content = plaintext.render(context)
html_content = htmly.render(context)
message = EmailMultiAlternatives(
subject=subject,
body=text_content,
from_email=from_email,
to=[to_email]
)
message.attach_alternative(html_content, "text/html")
message.send()
Когда я регистрирую пользователя, электронная почтане отправлено, может кто-нибудь помочь с этим?