Commit b83c8d10 authored by Lev-Arcady Sellem's avatar Lev-Arcady Sellem

On rattrape les exceptions lancées par l'envoi de mail

Ceci évite en particulier de tenter d'envoyer le même mail en boucle parce qu'il n'est jamais sorti de la file.
parent 086eb965
......@@ -72,8 +72,12 @@ def send_mail(emetteur, destinataires, objet, message, cc=[], replyto=[]):
print "Sending mail :"
print mail
s = smtplib.SMTP('localhost')
s.sendmail(emetteur, destinataires, mail.as_string())
s.quit()
try:
s.sendmail(emetteur, destinataires, mail.as_string())
except:
raise
finally:
s.quit()
def getcursor(db=config.database_mails):
"""Renvoie une connexion à la base mails (ou une autre) et un curseur"""
......@@ -100,8 +104,11 @@ def postmail():
message = cur.fetchone()
if message != None:
# On l'envoie
send_mail(message["emetteur"].decode("utf-8"), message["destinataires"].decode("utf-8").split(", "),
try:
send_mail(message["emetteur"].decode("utf-8"), message["destinataires"].decode("utf-8").split(", "),
message["subject"].decode("utf-8"), message["body"].decode("utf-8"), message["cc"].decode("utf-8").split(", "), message["replyto"].decode("utf-8").split(", "))
except:
print "Erreur SMTP avec le mail à destination de ", message["destinataires"].decode("utf-8"), "(", sys.exc_info()[0], ")"
# On le stocke dans les messages envoyés
cur.execute("""INSERT INTO sent (queue_date, emetteur, destinataires, subject, body, cc, replyto)
VALUES (%(queue_date)s, %(emetteur)s, %(destinataires)s, %(subject)s, %(body)s, %(cc)s, %(replyto)s);""",
......
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