]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/utils/mail.py
render the value of the email password in the settings page, otherwise it gets lost...
[osqa.git] / forum / utils / mail.py
index 5f93b055338931dcd30f8f0b5bb4f76d128e6e12..4ab2a695618902c031cf27ce8a707a3608111d27 100644 (file)
@@ -33,7 +33,7 @@ def create_connection():
     connection = SMTP(str(settings.EMAIL_HOST), str(settings.EMAIL_PORT),
                           local_hostname=DNS_NAME.get_fqdn())
 
-    if (bool(settings.EMAIL_USE_TLS)):
+    if bool(settings.EMAIL_USE_TLS):
         connection.ehlo()
         connection.starttls()
         connection.ehlo()
@@ -52,6 +52,8 @@ def create_and_send_mail_messages(messages):
     sender.append('<%s>' % unicode(settings.DEFAULT_FROM_EMAIL))
     sender = u'%s <%s>' % (unicode(settings.APP_SHORT_NAME), unicode(settings.DEFAULT_FROM_EMAIL))
 
+    reply_to = unicode(settings.DEFAULT_REPLY_TO_EMAIL)
+
     try:
         connection = None
 
@@ -59,8 +61,8 @@ def create_and_send_mail_messages(messages):
             sender = str(settings.DEFAULT_FROM_EMAIL)
 
         for recipient, subject, html, text, media in messages:
-           if connection is None:
-               connection = create_connection()
+            if connection is None:
+                connection = create_connection()
 
             msgRoot = MIMEMultipart('related')
 
@@ -71,6 +73,9 @@ def create_and_send_mail_messages(messages):
             to.append('<%s>' % recipient.email)
             msgRoot['To'] = to
 
+            if reply_to:
+                msgRoot['Reply-To'] = reply_to
+
             msgRoot.preamble = 'This is a multi-part message from %s.' % unicode(settings.APP_SHORT_NAME).encode('utf8')
 
             msgAlternative = MIMEMultipart('alternative')
@@ -88,18 +93,21 @@ def create_and_send_mail_messages(messages):
 
             try:
                 connection.sendmail(sender, [recipient.email], msgRoot.as_string())
-           except SMTPRecipientsRefused, e:
-               logging.error("Email address not accepted.  Exception: %s" % e)
+            except SMTPRecipientsRefused, e:
+                logging.error("Email address not accepted.  Exception: %s" % e)
             except Exception, e:
                 logging.error("Couldn't send mail using the sendmail method: %s" % e)
-               try:
-                   connection.quit()
-                   connection = None
-               except Exception:
-                   connection = None
+                try:
+                    connection.quit()
+                except Exception, e:
+                    logging.error(e)
+                finally:
+                    connection = None
 
         try:
             connection.quit()
+        except AttributeError:
+            pass
         except socket.sslerror:
             connection.close()
     except Exception, e: