Handle 'No MX record' exception
This commit is contained in:
parent
2c832c42f7
commit
f457620ea4
|
@ -1,2 +1,5 @@
|
|||
0.1.4:
|
||||
- Handle 'No MX record' exception
|
||||
|
||||
0.1.3:
|
||||
- Added ambigious (4xx) response code handling
|
||||
|
|
2
setup.py
2
setup.py
|
@ -26,7 +26,7 @@ class PostBuildPyCommand(build_py):
|
|||
|
||||
setup(
|
||||
name='py3-validate-email',
|
||||
version='0.1.3',
|
||||
version='0.1.4',
|
||||
packages=find_packages(exclude=['tests']),
|
||||
install_requires=['dnspython'],
|
||||
author='László Károlyi',
|
||||
|
|
|
@ -3,7 +3,7 @@ from smtplib import SMTP, SMTPServerDisconnected
|
|||
from socket import gethostname
|
||||
from typing import Optional
|
||||
|
||||
import dns.resolver as dns
|
||||
from dns.resolver import NXDOMAIN, NoAnswer, query
|
||||
|
||||
DOMAIN_REGEX = re_compile(r'(?<=@)\[?([^\[\]]+)')
|
||||
|
||||
|
@ -19,9 +19,11 @@ def _get_domain_from_email_address(email_address):
|
|||
|
||||
def _get_mx_records(domain: str) -> list:
|
||||
try:
|
||||
records = dns.query(domain, 'MX')
|
||||
except dns.NXDOMAIN:
|
||||
records = query(domain, 'MX')
|
||||
except NXDOMAIN:
|
||||
raise ValueError(f'Domain {domain} does not seem to exist')
|
||||
except NoAnswer:
|
||||
raise ValueError(f'Domain {domain} does not have an MX record')
|
||||
return [str(x.exchange) for x in records]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue