Python Email Validator Versions Save

A robust email syntax and deliverability validation library for Python.

v2.1.1

2 months ago
  • Fixed typo 'marking' instead of 'marketing' in case-insensitive mailbox name list.
  • When DNS-based deliverability checks fail, in some cases exceptions are now thrown with raise ... from for better nested exception tracking.
  • Fixed tests to work when no local resolver can be configured.
  • This project is now licensed under the Unlicense (instead of CC0).
  • Minor improvements to tests.
  • Minor improvements to code style.

v2.1.0

6 months ago

2.1.0 (October 22, 2023)

  • Python 3.8+ is now required (support for Python 3.7 was dropped).
  • The old email field on the returned ValidatedEmail object, which in the previous version was superseded by normalized, will now raise a deprecation warning if used. See https://stackoverflow.com/q/879173 for strategies to suppress the DeprecationWarning.
  • A __version__ module attribute is added.
  • The email address argument to validate_email is now marked as positional-only to better reflect the documented usage using the new Python 3.8 feature.

v2.0.0

1 year ago

v1.3.1

1 year ago

Version 1.3.1 (January 21, 2023)

  • The new SPF 'v=spf1 -all' (reject-all) deliverability check is removed in most cases. It now is performed only for domains that do not have MX records but do have an A/AAAA fallback record.

v1.3.0

1 year ago

Version 1.3.0 (September 18, 2022)

  • Deliverability checks now check for 'v=spf1 -all' SPF records as a way to reject more bad domains.
  • Special use domain names now raise EmailSyntaxError instead of EmailUndeliverableError since they are performed even if check_deliverability is off.
  • New module-level attributes are added to override the default values of the keyword arguments and the special-use domains list.
  • The keyword arguments of the public methods are now marked as keyword-only.
  • pyIsEmail's test cases are added to the tests.
  • Recommend that check_deliverability be set to False for validation on login pages.
  • Added an undocumented globally_deliverable option.

v1.2.1

2 years ago

Changes in version 1.2.0:

  • Rejecting domains with NULL MX records (when deliverability checks are turned on).
  • Rejecting unsafe unicode characters. (Some of these checks you should be doing on all of your user inputs already!)
  • Rejecting most special-use reserved domain names. A new test_environment option is added for using @*.test domains.
  • Some fixes in the tests.

In version 1.2.1:

  • example and example.com/net/org are removed from the special-use domains list.
  • SPECIAL_USE_DOMAIN_NAMES is now a documented part of the API (and it is a list instead of a tuple)
  • New module-level attributes ALLOW_SMTPUTF8, CHECK_DELIVERABILITY, TEST_ENVIRONMENT, and DEFAULT_TIMEOUT can be used to change the default values of the keyword arguments.
  • Travis CI is updated to test from Python 3.6 forward, dropping 3.5.

v1.1.3

2 years ago

v1.1.2

2 years ago

v1.1.1

4 years ago

v1.1.0

4 years ago