mirror of https://github.com/openspug/spug
fix issues
parent
bcd44bc0f8
commit
c5b3aadcf9
|
@ -5,12 +5,12 @@ import django
|
||||||
from django.views.generic import View
|
from django.views.generic import View
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from libs import JsonParser, Argument, json_response
|
from libs import JsonParser, Argument, json_response
|
||||||
|
from libs.mail import Mail
|
||||||
from apps.account.models import User
|
from apps.account.models import User
|
||||||
from apps.setting.utils import AppSetting
|
from apps.setting.utils import AppSetting
|
||||||
from apps.setting.models import Setting
|
from apps.setting.models import Setting
|
||||||
import platform
|
import platform
|
||||||
import ldap
|
import ldap
|
||||||
import smtplib
|
|
||||||
|
|
||||||
|
|
||||||
class SettingView(View):
|
class SettingView(View):
|
||||||
|
@ -55,13 +55,10 @@ def email_test(request):
|
||||||
).parse(request.body)
|
).parse(request.body)
|
||||||
if error is None:
|
if error is None:
|
||||||
try:
|
try:
|
||||||
if form.port == 465:
|
mail = Mail(**form)
|
||||||
server = smtplib.SMTP_SSL(form.server, form.port, timeout=3)
|
server = mail.get_server()
|
||||||
else:
|
server.quit()
|
||||||
server = smtplib.SMTP(form.server, form.port, timeout=3)
|
|
||||||
server.login(form.username, form.password)
|
|
||||||
return json_response()
|
return json_response()
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
error = f'{e}'
|
error = f'{e}'
|
||||||
return json_response(error=error)
|
return json_response(error=error)
|
||||||
|
|
|
@ -12,16 +12,20 @@ class Mail:
|
||||||
self.password = password
|
self.password = password
|
||||||
self.nickname = nickname
|
self.nickname = nickname
|
||||||
|
|
||||||
def _get_server(self):
|
def get_server(self):
|
||||||
if self.port == 465:
|
if self.port == 465:
|
||||||
server = smtplib.SMTP_SSL(self.host, self.port)
|
server = smtplib.SMTP_SSL(self.host, self.port)
|
||||||
|
elif self.port == 587:
|
||||||
|
server = smtplib.SMTP(self.host, self.port)
|
||||||
|
server.ehlo()
|
||||||
|
server.starttls()
|
||||||
else:
|
else:
|
||||||
server = smtplib.SMTP(self.host, self.port)
|
server = smtplib.SMTP(self.host, self.port)
|
||||||
server.login(self.user, self.password)
|
server.login(self.user, self.password)
|
||||||
return server
|
return server
|
||||||
|
|
||||||
def send_text_mail(self, receivers, subject, body):
|
def send_text_mail(self, receivers, subject, body):
|
||||||
server = self._get_server()
|
server = self.get_server()
|
||||||
msg = MIMEText(body, 'plain', 'utf-8')
|
msg = MIMEText(body, 'plain', 'utf-8')
|
||||||
msg['Subject'] = Header(subject, 'utf-8')
|
msg['Subject'] = Header(subject, 'utf-8')
|
||||||
msg['From'] = formataddr((self.nickname, self.user)) if self.nickname else self.user
|
msg['From'] = formataddr((self.nickname, self.user)) if self.nickname else self.user
|
||||||
|
|
Loading…
Reference in New Issue