Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Envoi de courriels massifs avec Python

- 158 mots - Temps de lecture estimé: 1 minute

Il est possible d’envoyer des courriels massifs personnalisés avec un script python.

Pour ce faire, on inclut tous les éléments de personnalisation dans un fichier csv, ensuite, on itère sur chaque ligne de ce fichier pour produire un courriel et l’envoyer.

Le fichier CSV peut, par exemple, contenir les colonnes suivantes:

On utilise les librairies Python suivantes:

import csv
import time
import smtplib
import email.utils
from email.mime.text import MIMEText

Soit chemin_csv une variable qui contient le chemin du fichier CSV, on produit une liste de dictionnaires comme suit:

with open(chemin_csv, 'r') as csvfile:
    csvreader = csv.DictReader(csvfile, delimiter=',')
    for row in csvreader:
        # Code pour chaque courriel ici

On définit ensuite les variables suivantes:

sujet_courriel = 
nom_expediteur = 
courriel_expediteur = 
serveur_smtp = 
port_smtp = 

Pour produire un courriel, on crée un objet MIMEText contenant le corps du message

        msg = MIMEText("""
        Bonjour {p} {n},
        Voici un courriel personnalisé
        """.format(p=row['Prénom'],n=row['Nom'])

On ajoute ensuite l’expéditeur, le destinataire et l’objet du courriel

        msg['To'] = email.utils.formataddr(("{p} {n}".format(p=row['Prénom'],n=row['Nom']), row['Courriel']))
        msg['From'] = email.utils.formataddr((nom_expediteur, courriel_expediteur))
        msg['Subject'] = sujet_courriel

On peut maintenant expédier le courriel. Il faut cependant avoir accès à un serveur SMTP

        try:
           smtpObj = smtplib.SMTP_SSL(serveur_smtp,port_smtp)
           smtpObj.set_debuglevel(True)
           smtpObj.login("","")
           smtpObj.sendmail(courriel_expediteur, [row['Courriel']], msg.as_string())
           print("Courriel envoyé avec succès")
        except smtplib.SMTPException:
           print("Erreur dans l'envoi du courriel")

Enfin, afin d’éviter d’être identifié comme spam, il est recommandé de mettre un délai entre les envois de courriels

        time.sleep(5)

Shooting Stars IconConsultation ExpressShooting Stars Icon

Bénéficie d'une heure de consultation dédiée avec François pour résoudre tes défis informatiques et stratégiques. Que ce soit pour la migration vers des technologies libres, la sécurisation de tes systèmes, la documentation de tes procédures, la conception de petits systèmes ou l'automatisation de tâches, cette session intensive t'offre des solutions concrètes et un plan d'action clair.

Tu seras libre ensuite de poursuivre avec un forfait de consultation sur mesure ou les programmes DéconstruIT ou Pleine Confiance

Découvre la Consultation Express.
Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes