24 lines
785 B
Python
24 lines
785 B
Python
from django.core.mail import send_mail
|
|
from django.urls import reverse
|
|
from .models import EmailConfirmation
|
|
import uuid
|
|
from django.conf import settings
|
|
from django.utils.timezone import now
|
|
|
|
|
|
def send_confirmation_email(email):
|
|
confirmation, created = EmailConfirmation.objects.get_or_create(email=email)
|
|
|
|
if not created:
|
|
confirmation.uuid = uuid.uuid4()
|
|
confirmation.created_at = now()
|
|
confirmation.save()
|
|
|
|
confirmation_link = f"http://127.0.0.1:8000{reverse('confirm_email', args=[confirmation.uuid])}"
|
|
|
|
send_mail(
|
|
subject="Confirm your e-mail address",
|
|
message=f"Please click on the link to confirm your e-mail address: {confirmation_link}",
|
|
from_email= settings.EMAIL_HOST_USER,
|
|
recipient_list=[email]
|
|
) |