Pour envoyer des e-mails à l’aide de Django, vous aurez besoin de quelques étapes importantes. Django a une fonction intégrée pour l’envoi de courriels et utilise le protocole SMTP (Simple Mail Transfer Protocol) pour l’envoi d’e-mails.
Premier pas : Configurez votre backend de messagerie dans vos settings de Django. Ceci indique à Django quel service utiliser pour l’envoi de courriels. Par exemple:
```
EMAIL_BACKEND = ‘django.core.mail.backends.smtp.EmailBackend‘
EMAIL_HOST = ‘votre serveur smtp‘
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = ‘votre email‘
EMAIL_HOST_PASSWORD = ‘votre password‘
```
Deuxième pas : Utilisation de la fonction send_mail(). Vous pouvez envoyer un e-mail avec Django en utilisant la fonction send_mail(), qui nécessite quatre arguments : sujet, message, email de l’expéditeur et une liste d’e-mails de réception. Par exemple:
```
from django.core.mail import send_mail
send_mail(
‘Hello from Django’,
‘An example email’,
‘from@example.com’,
[‘to@example.com’],
)
```
Troisième pas : Envoyer un email HTML. Si vous voulez que votre e-mail contienne du HTML, vous pouvez utiliser le paramètre html_message de la fonction send_mail():
```
from django.core.mail import send_mail
send_mail( ‘Hello from Django’, ‘An example email’, ‘from@example.com’, [‘to@example.com’], html_message=’
Quatrième pas : Utiliser les modèles pour composer vos courriels. À l’aide des Templates de Django, vous pouvez générer dynamiquement le contenu de vos emails. Par exemple:
```
from django.core.mail import EmailMessage
from django.template.loader import render_to_string
message = render_to_string(‘my_email.html’, {‘param’: ‘Example’})
mail = EmailMessage(
‘Hello from Django’,
message,
‘from@example.com’,
[‘to@example.com’]
)
mail.content_subtype = “html“
mail.send()
```
C’est tout ce qu’il faut pour envoyer des emails avec Django. N’oubliez pas de remplacer les paramètres des exemples ci-dessus par vos propres valeurs.
Sources :
- Documentation officielle Django sur l’envoi de courriels : https://docs.djangoproject.com/fr/3.2/topics/email/
- Article “Send Email with Django” de Real Python: https://realpython.com/django-send-email/