diff --git a/kfet/management/commands/sendrappelsnegatifs.py b/kfet/management/commands/sendrappelsnegatifs.py index a1a8b7bc..981e2c44 100644 --- a/kfet/management/commands/sendrappelsnegatifs.py +++ b/kfet/management/commands/sendrappelsnegatifs.py @@ -2,6 +2,7 @@ Gestion en ligne de commande des mails de rappel K-Fet. """ +import smtplib from datetime import timedelta from django.core.management.base import BaseCommand @@ -10,6 +11,14 @@ from django.utils import timezone from kfet.models import AccountNegative +def send_mail(neg: AccountNegative, stdout) -> None: + try: + neg.send_rappel() + stdout.write(f"Mail de rappel pour {neg.account} envoyé avec succès.") + except smtplib.SMTPException: + stdout.write(f"Erreur lors de l'envoi du mail de rappel pour {neg.account}.") + + class Command(BaseCommand): help = ( "Envoie un mail de rappel aux personnes en négatif.\n" @@ -39,12 +48,10 @@ class Command(BaseCommand): ) for neg in accounts_first_mail: - neg.send_rappel() - self.stdout.write(f"Mail de rappel pour {neg.account} envoyé avec succès.") + send_mail(neg, self.stdout) for neg in accounts_periodic_mail: - neg.send_rappel() - self.stdout.write(f"Mail de rappel pour {neg.account} envoyé avec succès.") + send_mail(neg, self.stdout) if not (accounts_first_mail.exists() or accounts_periodic_mail.exists()): self.stdout.write("Aucun mail à envoyer.")