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.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)
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue