@@ -32,21 +32,6 @@ def validate_email_deliverability(domain, domain_i18n, timeout=None, dns_resolve
3232
3333 deliverability_info = {}
3434
35- def dns_resolver_resolve_shim (domain , record ):
36- try :
37- # dns.resolver.Resolver.resolve is new to dnspython 2.x.
38- # https://dnspython.readthedocs.io/en/latest/resolver-class.html#dns.resolver.Resolver.resolve
39- return dns_resolver .resolve (domain , record )
40- except AttributeError :
41- # dnspython 2.x is only available in Python 3.6 and later. For earlier versions
42- # of Python, we maintain compatibility with dnspython 1.x which has a
43- # dnspython.resolver.Resolver.query method instead. The only difference is that
44- # query may treat the domain as relative and use the system's search domains,
45- # which we prevent by adding a "." to the domain name to make it absolute.
46- # dns.resolver.Resolver.query is deprecated in dnspython version 2.x.
47- # https://dnspython.readthedocs.io/en/latest/resolver-class.html#dns.resolver.Resolver.query
48- return dns_resolver .query (domain + "." , record )
49-
5035 try :
5136 # We need a way to check how timeouts are handled in the tests. So we
5237 # have a secret variable that if set makes this method always test the
@@ -56,7 +41,7 @@ def dns_resolver_resolve_shim(domain, record):
5641
5742 try :
5843 # Try resolving for MX records.
59- response = dns_resolver_resolve_shim (domain , "MX" )
44+ response = dns_resolver . resolve (domain , "MX" )
6045
6146 # For reporting, put them in priority order and remove the trailing dot in the qnames.
6247 mtas = sorted ([(r .preference , str (r .exchange ).rstrip ('.' )) for r in response ])
@@ -76,14 +61,14 @@ def dns_resolver_resolve_shim(domain, record):
7661
7762 # If there was no MX record, fall back to an A record, as SMTP servers do.
7863 try :
79- response = dns_resolver_resolve_shim (domain , "A" )
64+ response = dns_resolver . resolve (domain , "A" )
8065 deliverability_info ["mx" ] = [(0 , str (r )) for r in response ]
8166 deliverability_info ["mx_fallback_type" ] = "A"
8267 except (dns .resolver .NoNameservers , dns .resolver .NXDOMAIN , dns .resolver .NoAnswer ):
8368
8469 # If there was no A record, fall back to an AAAA record.
8570 try :
86- response = dns_resolver_resolve_shim (domain , "AAAA" )
71+ response = dns_resolver . resolve (domain , "AAAA" )
8772 deliverability_info ["mx" ] = [(0 , str (r )) for r in response ]
8873 deliverability_info ["mx_fallback_type" ] = "AAAA"
8974 except (dns .resolver .NoNameservers , dns .resolver .NXDOMAIN , dns .resolver .NoAnswer ):
@@ -98,7 +83,7 @@ def dns_resolver_resolve_shim(domain, record):
9883 # absence of an MX record, this is probably a good sign that the
9984 # domain is not used for email.
10085 try :
101- response = dns_resolver_resolve_shim (domain , "TXT" )
86+ response = dns_resolver . resolve (domain , "TXT" )
10287 for rec in response :
10388 value = b"" .join (rec .strings )
10489 if value .startswith (b"v=spf1 " ):
0 commit comments