OUJOOD.COM
Envoyer un mail peut paraître simple, mais entre votre code et la boîte de réception de l'utilisateur, il y a tout un monde de configuration. Que ce soit pour confirmer une inscription ou réinitialiser un mot de passe, Django propose une interface unifiée qui s'adapte à n'importe quel fournisseur de services (Gmail, SendGrid, Mailgun, etc.).
Configuration du backend SMTP
Pour que Django puisse envoyer des messages, vous devez lui indiquer quel serveur utiliser. Tout se passe dans le fichier settings.py. Je vous suggère de ne jamais écrire vos mots de passe en clair ici, mais d'utiliser des variables d'environnement pour plus de sécurité.
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.votre-fournisseur.com' EMAIL_PORT = 587 EMAIL_USE_TLS = True EMAIL_HOST_USER = 'votre-email@domaine.com' EMAIL_HOST_PASSWORD = 'votre-mot-de-passe'
Utiliser la fonction send_mail
Une fois la configuration terminée, l'envoi se résume à une seule fonction. Django s'occupe d'ouvrir la connexion, d'envoyer les données et de refermer proprement le tunnel. C'est propre et efficace.
from django.core.mail import send_mail
def envoyer_bienvenue(email_utilisateur):
send_mail(
'Bienvenue sur notre plateforme',
'Merci de nous avoir rejoint !',
'contact@monsite.com',
[email_utilisateur],
fail_silently=False,
)
Le backend console pour le développement
Pendant que vous développez, vous n'avez pas forcément envie d'envoyer de vrais emails à chaque test. Django a prévu le coup avec le backend console. Au lieu de partir sur le web, le contenu du mail s'affiche directement dans votre terminal. C'est un gain de temps précieux pour vérifier le rendu de vos messages sans polluer votre boîte de réception.
Pour protéger les accès à votre serveur SMTP, il est indispensable de ne pas laisser traîner vos identifiants dans votre code source. C'est ce que nous allons apprendre à gérer avec les variables d'environnement Django.
Par carabde | Mis à jour le 08/05/2026