Merge pull request #11996 from scmmishra/smtp-port-issue

fix: typerror when creating an SMTP server without port
This commit is contained in:
mergify[bot] 2020-11-25 13:39:01 +00:00 committed by GitHub
commit ae0cb6c328
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 3 deletions

View file

@ -210,10 +210,9 @@ class SMTPServer:
try:
if self.use_ssl:
if not self.port:
self.smtp_port = 465
self.port = 465
self._sess = smtplib.SMTP_SSL((self.server or "").encode('utf-8'),
cint(self.port) or None)
self._sess = smtplib.SMTP_SSL((self.server or ""), cint(self.port))
else:
if self.use_tls and not self.port:
self.port = 587

25
frappe/email/test_smtp.py Normal file
View file

@ -0,0 +1,25 @@
# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
# License: The MIT License
import unittest
from frappe.email.smtp import SMTPServer
class TestSMTP(unittest.TestCase):
def test_smtp_ssl_session(self):
for port in [None, 0, 465, "465"]:
make_server(port, 1, 0)
def test_smtp_tls_session(self):
for port in [None, 0, 587, "587"]:
make_server(port, 0, 1)
def make_server(port, ssl, tls):
server = SMTPServer(
server = "smtp.gmail.com",
port = port,
use_ssl = ssl,
use_tls = tls
)
server.sess