• Mémo Envoi de mails avec Python

  • SMTP

Voici un petit script utile pour envoyer une newsletter ou un mail admin !

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


def send_email():
    sender = 'john.smith@hotmail.com'
    # recipients doit être une liste, msg['To'] doit être une string
    recipients = ['jeanette.smith@yahoo.com', 'john.doe@yahoo.com']
    msg = MIMEMultipart()
    msg['From'] = sender
    msg['Subject'] = "[Test] Hello !"
    text = open('lib/text_mail.txt', 'r').read()
    msg.attach(MIMEText(text, 'plain'))
    # Bien penser à vérifier les paremètres du serveur SMTP
    server = smtplib.SMTP('smtp.live.com', '587')
    server.starttls()
    server.login(sender, 'MySecurePassword')
    text = msg.as_string()
    server.sendmail(sender, recipients, text)
    server.quit()

send_email()

text_mail.txt

Hello World !

Le texte est ici dans un fichier séparé, de nombreuses variantes peuvent être imaginées pour transformer le dit fichier en template.

text = text.replace('{{ email }}', email)


20 novembre 2018 11:25