Commit 300e1061 authored by ibuler's avatar ibuler

Merge pull request #140 from Astraeux/smtp_ssl_fix

SMTP发邮件支持SSL
parents 57e85aff c2189495
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
import time import time
import os import os
import sys import sys
from smtplib import SMTP, SMTPAuthenticationError, SMTPConnectError, SMTPSenderRefused from smtplib import SMTP, SMTP_SSL, SMTPAuthenticationError, SMTPConnectError, SMTPSenderRefused
import ConfigParser import ConfigParser
import socket import socket
import random import random
...@@ -201,7 +201,10 @@ class PreSetup(object): ...@@ -201,7 +201,10 @@ class PreSetup(object):
def _test_mail(self): def _test_mail(self):
try: try:
smtp = SMTP(self.mail_host, port=self.mail_port, timeout=2) if self.mail_port == 465:
smtp = SMTP_SSL(self.mail_host, port=self.mail_port, timeout=2)
else:
smtp = SMTP(self.mail_host, port=self.mail_port, timeout=2)
smtp.login(self.mail_addr, self.mail_pass) smtp.login(self.mail_addr, self.mail_pass)
smtp.sendmail(self.mail_addr, (self.mail_addr, ), smtp.sendmail(self.mail_addr, (self.mail_addr, ),
'''From:%s\r\nTo:%s\r\nSubject:Jumpserver Mail Test!\r\n\r\n Mail test passed!\r\n''' % '''From:%s\r\nTo:%s\r\nSubject:Jumpserver Mail Test!\r\n\r\n Mail test passed!\r\n''' %
......
...@@ -15,3 +15,4 @@ pyinotify==0.9.6 ...@@ -15,3 +15,4 @@ pyinotify==0.9.6
passlib==1.6.5 passlib==1.6.5
argparse==1.4.0 argparse==1.4.0
django_crontab==0.6.0 django_crontab==0.6.0
django-smtp-ssl==1.0
\ No newline at end of file
...@@ -19,4 +19,4 @@ email_port = 587 ...@@ -19,4 +19,4 @@ email_port = 587
email_host_user = email_host_user =
email_host_password = email_host_password =
email_use_tls = True email_use_tls = True
email_use_ssl = False
...@@ -33,6 +33,11 @@ EMAIL_PORT = config.get('mail', 'email_port') ...@@ -33,6 +33,11 @@ EMAIL_PORT = config.get('mail', 'email_port')
EMAIL_HOST_USER = config.get('mail', 'email_host_user') EMAIL_HOST_USER = config.get('mail', 'email_host_user')
EMAIL_HOST_PASSWORD = config.get('mail', 'email_host_password') EMAIL_HOST_PASSWORD = config.get('mail', 'email_host_password')
EMAIL_USE_TLS = config.getboolean('mail', 'email_use_tls') EMAIL_USE_TLS = config.getboolean('mail', 'email_use_tls')
try:
EMAIL_USE_SSL = config.getboolean('mail', 'email_use_ssl')
except ConfigParser.NoOptionError:
EMAIL_USE_SSL = False
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend' if EMAIL_USE_SSL else 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_TIMEOUT = 5 EMAIL_TIMEOUT = 5
# ======== Log ========== # ======== Log ==========
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment