diff --git a/spug_api/apps/setting/views.py b/spug_api/apps/setting/views.py index d13532f..d88db82 100644 --- a/spug_api/apps/setting/views.py +++ b/spug_api/apps/setting/views.py @@ -47,14 +47,17 @@ def ldap_test(request): def email_test(request): form, error = JsonParser( - Argument('server'), - Argument('port', type=int), - Argument('username'), - Argument('password'), + Argument('server', help='请输入邮件服务地址'), + Argument('port', type=int, help='请输入邮件服务端口号'), + Argument('username', help='请输入邮箱账号'), + Argument('password', help='请输入密码/授权码'), ).parse(request.body) if error is None: try: - server = smtplib.SMTP_SSL(form.server, form.port) + if form.port == 465: + server = smtplib.SMTP_SSL(form.server, form.port) + else: + server = smtplib.SMTP(form.server, form.port) server.login(form.username, form.password) return json_response() except Exception as e: diff --git a/spug_api/libs/mail.py b/spug_api/libs/mail.py index 3a71ac2..54acec0 100644 --- a/spug_api/libs/mail.py +++ b/spug_api/libs/mail.py @@ -6,13 +6,16 @@ import smtplib class Mail: def __init__(self, server, port, username, password, nickname=None): self.host = server - self.port = port + self.port = int(port) self.user = username self.password = password self.nickname = nickname def _get_server(self): - server = smtplib.SMTP_SSL(self.host, self.port) + if self.port == 465: + server = smtplib.SMTP_SSL(self.host, self.port) + else: + server = smtplib.SMTP(self.host, self.port) server.login(self.user, self.password) return server