Commit 25a4e225 authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue
Browse files

[utils/sendmail] Modif qui traîne

parent dbac5708
...@@ -6,14 +6,18 @@ ...@@ -6,14 +6,18 @@
""" """
# Librairie de communication SMTP #: Librairie de communication SMTP
import smtplib import smtplib
#: Pour fabriquer un mail en MIME
from email.mime.text import MIMEText from email.mime.text import MIMEText
#: Pour encoder le mail en utf-8
from email import Charset from email import Charset
Charset.add_charset('utf-8', Charset.QP, Charset.QP, 'utf-8') Charset.add_charset('utf-8', Charset.QP, Charset.QP, 'utf-8')
def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, debug=False): def create_mail(emetteur, destinataires, objet, message, cc=[], more_headers={}):
"""Envoie un mail en utilisant la commande sendmail""" """Fabrique un mail"""
if not isinstance(destinataires, list):
destinataires = [destinataires]
mail = MIMEText(message, "plain", "utf-8") mail = MIMEText(message, "plain", "utf-8")
mail["From"] = emetteur mail["From"] = emetteur
mail["To"] = u", ".join(destinataires) mail["To"] = u", ".join(destinataires)
...@@ -23,6 +27,10 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de ...@@ -23,6 +27,10 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de
mail[k] = more_headers[k] mail[k] = more_headers[k]
if cc != []: if cc != []:
mail["Cc"] = u", ".join(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: if debug:
print mail.as_string() print mail.as_string()
else: else:
...@@ -30,6 +38,11 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de ...@@ -30,6 +38,11 @@ def sendmail(emetteur, destinataires, objet, message, cc=[], more_headers={}, de
s.sendmail(emetteur, destinataires, mail.as_string()) s.sendmail(emetteur, destinataires, mail.as_string())
s.quit() 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__": if __name__ == "__main__":
print "Exemple d'utilisation :" print "Exemple d'utilisation :"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment