Отправлять письмо пользователю, зарегистрировавшемуся в django, когда администратор меняет его аккаунт на статус is_active=True

Я создаю систему регистрации и входа в проект, в которой при регистрации пользователя по умолчанию стоит статус is_active=False. При изменении статуса пользователя на is_active=True, пользователь должен получить письмо, информирующее его о том, что он может войти в систему. Но я не получаю никаких писем... или письма не отправляются, есть ли ошибка в моих кодах, которую я не вижу?

Вот мой файл signals.py

from .models import AuthUser
from django.db.models import signals
from django.db import models
from django.dispatch import receiver
from django.db.models.signals import pre_save, post_save
from django.conf import settings
from django.core.mail import send_mail

#signal used for is_active=False to is_active=True
@receiver(pre_save, sender=AuthUser, dispatch_uid='active')
def active(sender, instance, **kwargs):
    if instance.is_active and AuthUser.objects.filter(pk=instance.pk, is_active=False).exists():
        subject = 'Active account'
        message = '%s your account is now active' %(instance.username)
        from_email = settings.EMAIL_HOST_USER
        send_mail(subject, message, from_email, [instance.email], fail_silently=False)

#signal to send an email to the admin when a user creates a new account
@receiver(post_save, sender=AuthUser, dispatch_uid='register')
def register(sender, instance, **kwargs):
    if kwargs.get('created', False):
        subject = 'Verificatión of the %s account' %(instance.username)
        message = 'here goes your message to the admin'
        from_email = settings.EMAIL_HOST_USER
        send_mail(subject, message, from_email, [from_email], fail_silently=False)

Выполняются ли сигналы? Или лучше спросить, как вы включаете обработчики сигналов в основной путь выполнения? Это в файле apps.py, в методе ready(Reference)? Что вы видите в логах сервера?

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