????
Current Path : C:/opt/pgsql/pgAdmin 4/python/Lib/site-packages/email_validator/ |
Current File : C:/opt/pgsql/pgAdmin 4/python/Lib/site-packages/email_validator/__init__.py |
# Export the main method, helper methods, and the public data types. from .exceptions_types import ValidatedEmail, EmailNotValidError, \ EmailSyntaxError, EmailUndeliverableError from .validate_email import validate_email from .version import __version__ __all__ = ["validate_email", "ValidatedEmail", "EmailNotValidError", "EmailSyntaxError", "EmailUndeliverableError", "caching_resolver", "__version__"] def caching_resolver(*args, **kwargs): # Lazy load `deliverability` as it is slow to import (due to dns.resolver) from .deliverability import caching_resolver return caching_resolver(*args, **kwargs) # These global attributes are a part of the library's API and can be # changed by library users. # Default values for keyword arguments. ALLOW_SMTPUTF8 = True ALLOW_QUOTED_LOCAL = False ALLOW_DOMAIN_LITERAL = False GLOBALLY_DELIVERABLE = True CHECK_DELIVERABILITY = True TEST_ENVIRONMENT = False DEFAULT_TIMEOUT = 15 # secs # IANA Special Use Domain Names # Last Updated 2021-09-21 # https://www.iana.org/assignments/special-use-domain-names/special-use-domain-names.txt # # The domain names without dots would be caught by the check that the domain # name in an email address must have a period, but this list will also catch # subdomains of these domains, which are also reserved. SPECIAL_USE_DOMAIN_NAMES = [ # The "arpa" entry here is consolidated from a lot of arpa subdomains # for private address (i.e. non-routable IP addresses like 172.16.x.x) # reverse mapping, plus some other subdomains. Although RFC 6761 says # that application software should not treat these domains as special, # they are private-use domains and so cannot have globally deliverable # email addresses, which is an assumption of this library, and probably # all of arpa is similarly special-use, so we reject it all. "arpa", # RFC 6761 says applications "SHOULD NOT" treat the "example" domains # as special, i.e. applications should accept these domains. # # The domain "example" alone fails our syntax validation because it # lacks a dot (we assume no one has an email address on a TLD directly). # "@example.com/net/org" will currently fail DNS-based deliverability # checks because IANA publishes a NULL MX for these domains, and # "@mail.example[.com/net/org]" and other subdomains will fail DNS- # based deliverability checks because IANA does not publish MX or A # DNS records for these subdomains. # "example", # i.e. "wwww.example" # "example.com", # "example.net", # "example.org", # RFC 6761 says that applications are permitted to treat this domain # as special and that DNS should return an immediate negative response, # so we also immediately reject this domain, which also follows the # purpose of the domain. "invalid", # RFC 6762 says that applications "may" treat ".local" as special and # that "name resolution APIs and libraries SHOULD recognize these names # as special," and since ".local" has no global definition, we reject # it, as we expect email addresses to be gloally routable. "local", # RFC 6761 says that applications (like this library) are permitted # to treat "localhost" as special, and since it cannot have a globally # deliverable email address, we reject it. "localhost", # RFC 7686 says "applications that do not implement the Tor protocol # SHOULD generate an error upon the use of .onion and SHOULD NOT # perform a DNS lookup. "onion", # Although RFC 6761 says that application software should not treat # these domains as special, it also warns users that the address may # resolve differently in different systems, and therefore it cannot # have a globally routable email address, which is an assumption of # this library, so we reject "@test" and "@*.test" addresses, unless # the test_environment keyword argument is given, to allow their use # in application-level test environments. These domains will generally # fail deliverability checks because "test" is not an actual TLD. "test", ]