Can you test the attached patch? A.
From 1dbc8ce4faf3591d7885a9c86fb09d4ec54cd5b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anar...@koumbit.org> Date: Sat, 30 Aug 2014 19:37:14 -0700 Subject: [PATCH] handle errors better when connecting to SMTP servers (Closes: #756540) --- monkeysign/ui.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/monkeysign/ui.py b/monkeysign/ui.py index 169893d..c477e0d 100644 --- a/monkeysign/ui.py +++ b/monkeysign/ui.py @@ -338,8 +338,16 @@ def sendmail(self, msg): expects an EmailFactory email, but will not mail if nomail is set""" if self.options.smtpserver is not None and not self.options.nomail: if self.options.dryrun: return True - server = smtplib.SMTP(self.options.smtpserver) + server = smtplib.SMTP() server.set_debuglevel(self.options.debug) + # to be nicer to users, we could catch socket.error exceptions from + # server.connect() here and display a meaningful message to stderr. + try: + (code, msg) = server.connect(self.options.smtpserver) + except (socket.error, socket.timeout) as e: + self.abort(_('Error connecting to SMTP server: %s') % e) + if code != 220: + self.abort(_('Unexpected SMTP server '%s' error code: %s (%s)') % (self.options.smtpserver, code, msg)) try: server.starttls() except SMTPException: -- 1.9.1
-- Si Dieu est, l'homme est esclave ; or l'homme peut, doit être libre, donc Dieu n'existe pas. Et si Dieu existait, il faudrait s'en débarrasser! - Michel Bakounine
pgpWh4zj1JQ0i.pgp
Description: PGP signature