Dans le code qui va suivre, nous allons voir comment envoyer des courriels en utilisant un script Python. Nous allons utiliser les dictionnaires afin de personnaliser chaque mail pour chaque adresse.
import smtplib
import time
from email.message import EmailMessage
# Dictionnaire des adresses électroniques et des messages à envoyer
emails = {
'john@example.com': 'Bonjour John, comment vas-tu ?',
'sarah@example.com': 'Salut Sarah, comment ça va ?',
'bill@example.com': 'Bonjour Bill, comment vas-tu ?'
}
# Connexion au serveur SMTP
server = smtplib.SMTP('smtp.example.com')
server.login('username', 'password')
# Envoi des emails
for email, message in emails.items():
# Création du message
msg = EmailMessage()
msg.set_content(message)
msg['Subject'] = 'Objet de votre email'
msg['From'] = 'sender@example.com'
msg['To'] = email
# Envoi de l'email
server.send_message(msg)
time.sleep(20) # Ajout d'un délai de 20 secondes
# Fermeture de la connexion au serveur
server.quit()
Ce programme importe la bibliothèque smtplib
qui fournit des fonctions pour envoyer des emails à travers un serveur SMTP (Simple Mail Transfer Protocol). Le dictionnaire emails
définit les adresses électroniques et les messages à envoyer.
Le programme se connecte au serveur SMTP en utilisant la fonction SMTP
de smtplib, puis se connecte en utilisant le nom d’utilisateur et le mot de passe fournis. Ensuite, il utilise une boucle
for
pour parcourir le dictionnaire emails
et envoyer chaque email en utilisant la fonction sendmail
de smtplib. Enfin, il ferme la connexion au serveur en utilisant la fonction quit
.
Il y a quelques points à prendre en compte lors de l’utilisation de ce programme :
- Vous devez remplacer
smtp.example.com
par l’adresse du serveur SMTP auquel vous souhaitez vous connecter. - Vous devez remplacer
username
etpassword
par votre nom d’utilisateur et votre mot de passe de connexion au serveur SMTP. - Vous devez remplacer sender@example.com
par l’adresse électronique à partir de laquelle vous souhaitez envoyer les emails.
La fonction sleep
prend en argument le nombre de secondes à attendre avant de continuer l’exécution du programme. Dans ce cas, nous avons ajouté un appel à 20sleep()
après chaque envoi d’email, ce qui ajoute un délai de 20 secondes avant de passer à l’envoi suivant.
Pour ajouter un objet à un email que vous envoyez à l’aide de la bibliothèque smtplib
de Python, vous devez utiliser la méthode sendmail
de manière un peu différente. Au lieu de simplement passer les destinataires et le message en tant qu’arguments, vous devez créer un message en utilisant la classe EmailMessage
de la bibliothèque email
de Python, puis utiliser cet objet pour envoyer l’email.