Browse Source

bugfix: try starttls() when connecting to a smtp server using a login/password. Tested on MAILJET and own SMTP

Damien ACCORSI 10 years ago
parent
commit
2140d9a88e
1 changed files with 9 additions and 1 deletions
  1. 9 1
      tracim/tracim/lib/email.py

+ 9 - 1
tracim/tracim/lib/email.py View File

@@ -33,7 +33,15 @@ class EmailSender(object):
33 33
             logger.info(self, 'Connecting from SMTP server {}'.format(self._smtp_config.server))
34 34
             self._smtp_connection = smtplib.SMTP(self._smtp_config.server, self._smtp_config.port)
35 35
             self._smtp_connection.ehlo()
36
-            self._smtp_connection.login(self._smtp_config.login, self._smtp_config.password)
36
+            if self._smtp_config.login:
37
+                try:
38
+                    starttls_result = self._smtp_connection.starttls()
39
+                    logger.debug(self, 'SMTP start TLS result: {}'.format(starttls_result))
40
+                except Exception as e:
41
+                    logger.debug(self, 'SMTP start TLS error: {}'.format(e.__str__()))
42
+
43
+            login_res = self._smtp_connection.login(self._smtp_config.login, self._smtp_config.password)
44
+            logger.debug(self, 'SMTP login result: {}'.format(login_res))
37 45
             logger.info(self, 'Connection OK')
38 46
 
39 47
     def disconnect(self):