From 8c5349ec56d877de74d7aa8c62565bddcaa593b2 Mon Sep 17 00:00:00 2001
From: jsandoval <jsandoval@utp.edu.co>
Date: Tue, 22 Mar 2016 20:05:26 -0400
Subject: [PATCH] Fix #5081 - Unhelpful SMTP error

---
 mediagoblin/tools/mail.py | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/mediagoblin/tools/mail.py b/mediagoblin/tools/mail.py
index 74e59fb..a290879 100644
--- a/mediagoblin/tools/mail.py
+++ b/mediagoblin/tools/mail.py
@@ -101,14 +101,25 @@ def send_email(from_addr, to_addrs, subject, message_body):
         else:
             smtp_init = smtplib.SMTP
 
-        mhost = smtp_init(
-            mg_globals.app_config['email_smtp_host'],
-            mg_globals.app_config['email_smtp_port'])
-
+        try:
+            mhost = smtp_init(
+                mg_globals.app_config['email_smtp_host'],
+                mg_globals.app_config['email_smtp_port'])
+        except socket.error:
+            print("Couldn't contact mail server on <{host}>:<{port}>".format(
+                host=mg_globals.app_config['email_smtp_host'],
+                port=mg_globals.app_config['email_smtp_port']))
+            return
+            
         # SMTP.__init__ Issues SMTP.connect implicitly if host
         if not mg_globals.app_config['email_smtp_host']:  # e.g. host = ''
-            mhost.connect()  # We SMTP.connect explicitly
-
+            try:
+                mhost.connect()  # We SMTP.connect explicitly
+            except socket.error:
+                print("Couldn't contact mail server on <{host}>:<{port}>".format(
+                    host=mg_globals.app_config['email_smtp_host'],
+                    port=mg_globals.app_config['email_smtp_port']))
+                return
         try:
             mhost.starttls()
         except smtplib.SMTPException:
-- 
2.1.4

