Как отправить валидацию по электронной почте через Django?

Итак, я пытаюсь сделать функцию в моем проекте django, которая отправляет ключ подтверждения по электронной почте для пользователя

поэтому я попытался сделать следующее:

views.py

def createuser(request):
    form = MyUserCreationForm()

    if request.method == 'POST':
        form = MyUserCreationForm(request.POST)
        if form.is_valid():
            return redirect('confirm-email')
        else:
            messages.error(request,'An error occured during your registration')
    context = {'form':form}
    return render(request, 'signup.html', context)

def confirmemail(request):
    form = MyUserCreationForm() 
    if request.method == 'POST':
        form = MyUserCreationForm(request.POST) 
        if form.is_valid():
            email = form.cleaned_data['email']
            user = User.objects.get(email=email)
            subject = 'Confirm your email' 
            from_email = 'myemail@gmail.com'
            email = [email]
            recipient_list = email
            return send_mail(subject, 'Use %s to confirm your email.' % request.user.confirmation_key, from_email, recipient_list)
        user.confirm_email(user.confirmation_key)
    
        
        if user.is_confirmed == True:
            user = form.save(commit=False)
            user.username = request.user.username.lower()
            user.save()
            login(request,user)
            return redirect('home')
    context = {'form':form}
    return render(request, 'emailconfirm.html', context)

models.py

from django.db import models
from django.contrib.auth.models import AbstractUser
from simple_email_confirmation.models import SimpleEmailConfirmationUserMixin
class User(SimpleEmailConfirmationUserMixin, AbstractUser):
    name = models.CharField(max_length = 50)
    username = models.CharField(max_length = 50, null=True)
    email = models.EmailField(unique=True, null=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['name','username']
    

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

Вернуться на верх