Envoyez plusieurs mails avec Python et imaplib

python mail

Dans le code qui va suivre, nous allons voir comment envoyer des courriels en utilisant un script Python et le protocole IMAPS. Nous allons utiliser les dictionnaires afin de personnaliser chaque mail pour chaque adresse.

import imaplib
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 IMAP
server = imaplib.IMAP4_SSL('imap.example.com')
server.login('username', 'password')

# Sélection de la boîte de réception
server.select('INBOX')

# 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.append('INBOX', '', imaplib.Time2Internaldate(time.time()), str(msg).encode('utf-8'))
    time.sleep(20)  # Ajout d'un délai de 20 secondes

# Fermeture de la connexion au serveur
server.close()
server.logout()

Dans ce code, nous avons importé la bibliothèque imaplib et la classe EmailMessage de la bibliothèque email. Nous avons également utilisé la fonction IMAP4_SSL de imaplib pour se connecter au serveur IMAP en utilisant une connexion SSL sécurisée. Nous avons ensuite sélectionné la boîte de réception en utilisant la méthode select. “INBOX” est la valeur par défaut.

Voir cet article pour Envoyez plusieurs mails avec Python et la librairie smtplib