API - port can be omitted in EMAIL_URL (defaults to 25)
This commit is contained in:
@ -69,7 +69,7 @@ class EmailTemplate:
|
||||
class Email:
|
||||
def __init__(self, app: Optional[Flask] = None) -> None:
|
||||
self.host = 'localhost'
|
||||
self.port = 1025
|
||||
self.port = 25
|
||||
self.use_tls = False
|
||||
self.use_ssl = False
|
||||
self.username = None
|
||||
|
@ -14,7 +14,7 @@ def parse_email_url(email_url: str) -> Dict:
|
||||
)
|
||||
return {
|
||||
'host': parsed_url.host,
|
||||
'port': parsed_url.port,
|
||||
'port': 25 if parsed_url.port is None else parsed_url.port,
|
||||
'use_tls': True if parsed_url.query == 'tls=True' else False,
|
||||
'use_ssl': True if parsed_url.query == 'ssl=True' else False,
|
||||
'username': credentials[0],
|
||||
|
@ -12,8 +12,8 @@ class TestEmailUrlParser:
|
||||
with pytest.raises(InvalidEmailUrlScheme):
|
||||
parse_email_url(url)
|
||||
|
||||
def test_it_parses_email_url_without_authentication(self) -> None:
|
||||
url = 'smtp://localhost:25'
|
||||
@staticmethod
|
||||
def assert_parsed_email(url: str) -> None:
|
||||
parsed_email = parse_email_url(url)
|
||||
assert parsed_email['username'] is None
|
||||
assert parsed_email['password'] is None
|
||||
@ -22,6 +22,14 @@ class TestEmailUrlParser:
|
||||
assert parsed_email['use_tls'] is False
|
||||
assert parsed_email['use_ssl'] is False
|
||||
|
||||
def test_it_parses_email_url_without_port(self) -> None:
|
||||
url = 'smtp://localhost'
|
||||
self.assert_parsed_email(url)
|
||||
|
||||
def test_it_parses_email_url_without_authentication(self) -> None:
|
||||
url = 'smtp://localhost:25'
|
||||
self.assert_parsed_email(url)
|
||||
|
||||
def test_it_parses_email_url(self) -> None:
|
||||
url = 'smtp://test@example.com:12345678@localhost:25'
|
||||
parsed_email = parse_email_url(url)
|
||||
|
Reference in New Issue
Block a user