From 25a4e225e40b8dd2a4a33cb3e2a9e4130ad0b1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Sun, 5 May 2013 05:39:56 +0200 Subject: [PATCH] =?UTF-8?q?[utils/sendmail]=20Modif=20qui=20tra=C3=AEne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/sendmail.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/utils/sendmail.py b/utils/sendmail.py index 0b10c3bd..fa03782a 100644 --- a/utils/sendmail.py +++ b/utils/sendmail.py @@ -6,14 +6,18 @@ """ -# Librairie de communication SMTP +#: Librairie de communication SMTP import smtplib +#: Pour fabriquer un mail en MIME from email.mime.text import MIMEText +#: Pour encoder le mail en utf-8 from email import Charset Charset.add_charset('utf-8', Charset.QP, Charset.QP, 'utf-8') -def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, debug=False): - """Envoie un mail en utilisant la commande sendmail""" +def create_mail(emetteur, destinataires, objet, message, cc=[], more_headers={}): + """Fabrique un mail""" + if not isinstance(destinataires, list): + destinataires = [destinataires] mail = MIMEText(message, "plain", "utf-8") mail["From"] = emetteur mail["To"] = u", ".join(destinataires) @@ -23,6 +27,10 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de mail[k] = more_headers[k] if cc != []: mail["Cc"] = u", ".join(cc) + return mail + +def actually_sendmail(emetteur, destinataires, mail, debug=False): + """Envoie un mail en dialoguant avec le serveur SMTP""" if debug: print mail.as_string() else: @@ -30,6 +38,11 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de s.sendmail(emetteur, destinataires, mail.as_string()) s.quit() +def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, debug=False): + """Fabrique le mail et l'envoie""" + mail = create_mail(emetteur, destinataires, objet, message, cc, more_headers) + actually_sendmail(emetteur, destinataires, mail, debug) + if __name__ == "__main__": print "Exemple d'utilisation :"