fix issues

pull/410/head
vapao 2021-09-18 00:04:36 +08:00
parent bcd44bc0f8
commit c5b3aadcf9
2 changed files with 10 additions and 9 deletions

View File

@ -5,12 +5,12 @@ import django
from django.views.generic import View
from django.conf import settings
from libs import JsonParser, Argument, json_response
from libs.mail import Mail
from apps.account.models import User
from apps.setting.utils import AppSetting
from apps.setting.models import Setting
import platform
import ldap
import smtplib
class SettingView(View):
@ -55,13 +55,10 @@ def email_test(request):
).parse(request.body)
if error is None:
try:
if form.port == 465:
server = smtplib.SMTP_SSL(form.server, form.port, timeout=3)
else:
server = smtplib.SMTP(form.server, form.port, timeout=3)
server.login(form.username, form.password)
mail = Mail(**form)
server = mail.get_server()
server.quit()
return json_response()
except Exception as e:
error = f'{e}'
return json_response(error=error)

View File

@ -12,16 +12,20 @@ class Mail:
self.password = password
self.nickname = nickname
def _get_server(self):
def get_server(self):
if self.port == 465:
server = smtplib.SMTP_SSL(self.host, self.port)
elif self.port == 587:
server = smtplib.SMTP(self.host, self.port)
server.ehlo()
server.starttls()
else:
server = smtplib.SMTP(self.host, self.port)
server.login(self.user, self.password)
return server
def send_text_mail(self, receivers, subject, body):
server = self._get_server()
server = self.get_server()
msg = MIMEText(body, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
msg['From'] = formataddr((self.nickname, self.user)) if self.nickname else self.user