diff options
author | Lars Wirzenius <liw@iki.fi> | 2006-08-12 14:37:40 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@iki.fi> | 2006-08-12 14:37:40 +0300 |
commit | f1b683e709890356af023e1d80d805aab7bb4d95 (patch) | |
tree | 2a173f2cb236a0005bbbfbe44bd3a9cf334b137a | |
parent | 747343e09d2930ebc783f9cc657a87877e823fb8 (diff) | |
download | eoc-f1b683e709890356af023e1d80d805aab7bb4d95.tar.gz |
Report problems sending mail. Thanks to Antti-Juhani Kaijanaho
-rw-r--r-- | eoc.py | 26 |
1 files changed, 19 insertions, 7 deletions
@@ -395,13 +395,21 @@ class MailingListManager: "\n ".join(text[:text.find("\n\n")].split("\n")))) if recipients: if self.smtp_server: - smtp = smtplib.SMTP(self.smtp_server) - smtp.sendmail(envelope_sender, recipients, text) - smtp.quit() + try: + smtp = smtplib.SMTP(self.smtp_server) + smtp.sendmail(envelope_sender, recipients, text) + smtp.quit() + except: + error("Error sending SMTP mail, mail probably not sent") + sys.exit(1) elif self.qmqp_server: - q = qmqp.QMQP(self.qmqp_server) - q.sendmail(envelope_sender, recipients, text) - q.quit() + try: + q = qmqp.QMQP(self.qmqp_server) + q.sendmail(envelope_sender, recipients, text) + q.quit() + except: + error("Error sending QMQP mail, mail probably not sent") + sys.exit(1) else: recipients = string.join(recipients, " ") f = os.popen("%s -oi -f '%s' %s" % @@ -410,7 +418,11 @@ class MailingListManager: recipients), "w") f.write(text) - f.close() + status = f.close() + if status != 0: + error("%s returned %d, mail sending probably failed" % + (self.sendmail, status)) + sys.exit((status >> 8) & 0xff) else: debug("send_mail: no recipients, not sending") |