mail: utilisation du context manager pour smtp

This commit is contained in:
Daniel STAN 2014-11-09 14:40:40 +01:00
parent bdeac3f7b0
commit c60a2589a3
3 changed files with 37 additions and 37 deletions

View file

@ -2,12 +2,13 @@
# -*- coding: utf-8 -*-
# Auteur: Gabriel Detraz
from lc_ldap import shortcuts
import smtplib
from email.header import Header
from email.MIMEText import MIMEText
from email.Utils import formatdate
from lc_ldap import shortcuts
import gestion.mail as mail_module
SEND = False
con = shortcuts.lc_ldap_readonly()
@ -48,5 +49,6 @@ Les membres actifs du Crans'''
MonEmail['To'] = m2
MonEmail['Date'] = formatdate(localtime=True)
if SEND:
Serveur_SMTP.sendmail('cableurs@lists.crans.org', m2, MonEmail.as_string())
with mail_module.ServerConnection() as conn:
conn.sendmail('cableurs@lists.crans.org', m2, MonEmail.as_string())
Serveur_SMTP.quit()

View file

@ -2,7 +2,6 @@
# -*- coding: utf-8 -*-
import sys
import smtplib
import datetime
import pytz
from gestion import config
@ -32,29 +31,29 @@ for adh in conn.search(ldap_filter):
continue
mailaddrs.add(mail)
print "Va envoyer le message à %s personnes." % len(mailaddrs)
if not SEND:
print "Va envoyer le message à %s personnes. Mettre la variable SEND à True effectuer l'envoie" % len(mailaddrs)
print "Appuyer sur entrée pour simuler la génération"
raw_input()
print "Mettre la variable SEND à True effectuer l'envoi"
print "Appuyer sur entrée pour la génération"
raw_input()
echecs=[]
conn_smtp=smtplib.SMTP('smtp.adm.crans.org')
for To in mailaddrs:
cprint(u"Envoi du mail à %s" % To)
params = {
'deadline': deadline,
'To': To,
'lang_info': 'English version below',
}
mailtxt=mail_module.generate('carte_etudiant', params).as_string()
try:
if SEND:
conn_smtp.sendmail("cableurs@crans.org", (To,), mailtxt)
except:
cprint(u"Erreur lors de l'envoi à %s " % To, "rouge")
echecs.append(To)
conn_smtp.quit()
with mail_module.ServerConnection() as conn_smtp:
for To in mailaddrs:
cprint(u"Envoi du mail à %s" % To)
params = {
'deadline': deadline,
'To': To,
'lang_info': 'English version below',
}
mailtxt=mail_module.generate('carte_etudiant', params).as_string()
try:
# TODO DBG_MAIL
if SEND:
conn_smtp.sendmail("cableurs@crans.org", (To,), mailtxt)
except:
cprint(u"Erreur lors de l'envoi à %s " % To, "rouge")
echecs.append(To)
if echecs:
print "\nIl y a eu des erreurs :"

View file

@ -2,12 +2,13 @@
# -*- coding: utf-8 -*-
import sys
import smtplib
from gestion import config
from gestion.affich_tools import cprint
from gestion import mail
import lc_ldap.shortcuts
import gestion.config
import gestiom.mail as mail_module
# Attention, si à True envoie effectivement les mails
SEND=False
@ -35,18 +36,16 @@ print "Appuyer sur une touche pour continuer."
raw_input()
echecs=[]
conn_smtp=smtplib.SMTP('smtp.adm.crans.org')
for To in mailaddrs:
cprint(u"Envoi du mail à %s" % To)
mailtxt=mail.generate('install-party', {'To':To}).as_string()
try:
if SEND:
conn_smtp.sendmail("cableurs@crans.org", (To,), mailtxt)
except:
cprint(u"Erreur lors de l'envoi à %s " % To, "rouge")
echecs.append(To)
conn_smtp.quit()
with mail_module.ServerConnection() as conn_smtp:
for To in mailaddrs:
cprint(u"Envoi du mail à %s" % To)
mailtxt=mail.generate('install-party', {'To':To}).as_string()
try:
if SEND:
conn_smtp.sendmail("cableurs@crans.org", (To,), mailtxt)
except:
cprint(u"Erreur lors de l'envoi à %s " % To, "rouge")
echecs.append(To)
if echecs:
print "\nIl y a eu des erreurs :"