138 lines
5.2 KiB
Text
138 lines
5.2 KiB
Text
1.0.2:
|
|
- Handle an SSLError during STARTTLS correctly (See https://github.com/karolyi/py3-validate-email/issues/79)
|
|
- Extend options with an `smtp_skip_tls` option. When `True`, the module won't initiate a TLS session. Defaults to `False`.
|
|
- Extend options with a `smtp_tls_context` option. When passed and `smtp_skip_tls` is `False` (or not passed), the client will use the passed `SSLContext`.
|
|
- Typo fix: 'ambigious' -> 'ambiguous'
|
|
|
|
1.0.1:
|
|
- Fix dnspython dependency
|
|
|
|
1.0.0:
|
|
- New major release with breaking changes! They are:
|
|
- Parameter names for validate_email() and validate_email_or_fail() have changed:
|
|
- check_regex -> check_format
|
|
- use_blacklist -> check_blacklist
|
|
- check_mx -> check_dns
|
|
- skip_smtp -> check_smtp (with inverted logic)
|
|
- helo_host -> smtp_helo_host
|
|
- from_address -> smtp_from_address
|
|
- debug -> smtp_debug
|
|
- All parameters except for the first one (the email address to check) are now keyword-only.
|
|
- Ambiguous results and the possibility of more of them, to reflect a real world SMTP delivery process:
|
|
- The module tries all MX hosts in order of priority.
|
|
- An acceptance of the email address will yield a positive verification result, no further MX hosts will be tried.
|
|
- Any permanent SMTP error (5xx) will yield a negative verification result, no further MX hosts will be tried.
|
|
- Any temporary SMTP error (4xx) or any connection issue will cause the next MX host to be tried. Only if all MX hosts yield these kinds of errors, the overall verification result will be ambiguous. That is, greylisting or no servers providing a definitive negative or positive.
|
|
- The validate_email_or_fail() function will now raise an SMTPTemporaryError() on an ambiguous result.
|
|
- All exceptions raised by the SMTP check will contain the occurred communication results in their error_messages class variables.
|
|
- Internal API changes (refactorings)
|
|
- Check results are now logged with info level, instead of emitting warnings when debug is turned on.
|
|
- Props to @reinhard-mueller for coming up with the new proposals and helping in refining the idea.
|
|
|
|
0.2.16:
|
|
- Workaround for a bug in the built-in python 3.8 smtp library: https://github.com/karolyi/py3-validate-email/issues/50
|
|
|
|
0.2.15:
|
|
- Added a `skip_smtp` option to optionally skip the SMTP protocol check after the DNS level checks, by @SergeyKons
|
|
|
|
0.2.14:
|
|
- More improvements, courtesy of Reinhard Müller: https://github.com/karolyi/py3-validate-email/pull/48
|
|
|
|
0.2.13:
|
|
- Fix 5xx errors not getting through in the exception parameters on the RCPT TO
|
|
handling. (#45)
|
|
|
|
0.2.12:
|
|
- Fixed a TLS error where the MX hostname mismatched the actual hostname due
|
|
to MX records resolving to hostnames with dots at the end. Yahoo lookups
|
|
resulted in SSL errors, providing false negatives.
|
|
|
|
0.2.11:
|
|
- Make emitting logs off per default, observer the passed `debug` parameter
|
|
- Set updater log level to debug
|
|
|
|
0.2.10:
|
|
- Adding STARTTLS handling
|
|
- Use EHLO instead of HELO
|
|
- Refactorings to handle errors during EHLO and MAIL FROM commands
|
|
- Updated dependencies
|
|
|
|
0.2.9:
|
|
- Adding debug command to validate_email for debugging
|
|
|
|
0.2.8:
|
|
- Fixing windows installation error.
|
|
|
|
0.2.7:
|
|
- Increase consistency at handling domain literals
|
|
- Clean up initial blacklist download on install
|
|
- All improvements made by @reinhard-mueller.
|
|
|
|
0.2.6:
|
|
- Introducing an EmailAddress class, thx to @reinhard-mueller
|
|
- Added a test for making sure there's a data directory with blacklist
|
|
files on install.
|
|
|
|
0.2.5:
|
|
- Python distutils/setuptools is a mess. Fix data dir creation on
|
|
install.
|
|
|
|
0.2.4:
|
|
- Fixed built-in datadir creation again.
|
|
|
|
0.2.3:
|
|
- Fixed https://github.com/karolyi/py3-validate-email/issues/13
|
|
|
|
0.2.2:
|
|
- Fixed the automatic download of the validate_email/data directory on
|
|
package install time. The source distribution MUST NOT include the
|
|
data directory, local installs have to fetch them when they are
|
|
executed.
|
|
|
|
0.2.1:
|
|
- Added a validate_email_or_fail function that will raise an exception
|
|
(base class validate_email.exceptions.EmailValidationError) when the
|
|
passed email check fails, while logging a warning with the validation
|
|
result.
|
|
- The blacklist updater can now use a separate thread and writable temp
|
|
paths to download and store its data, while logs about the update
|
|
process on DEBUG.
|
|
- Exposed a `validate_email.updater.update_builtin_blacklist` to update
|
|
the built-in blacklists while running.
|
|
|
|
0.2.0:
|
|
- Added automatic auto-updater for updating built-in blacklists.
|
|
|
|
0.1.12:
|
|
- Blacklist/whitelist domains checking is now independent of regex checking.
|
|
|
|
0.1.11:
|
|
- Handling IDNA errors
|
|
|
|
0.1.10:
|
|
- Handling the NoNameservers exception
|
|
|
|
0.1.9:
|
|
- Handling DNS timeout + YXDOMAIN
|
|
|
|
0.1.8:
|
|
- Added IDNA domain handling. (might need adjustment when
|
|
https://bugs.python.org/issue20083 gets fixed)
|
|
|
|
0.1.7:
|
|
- Handle the SMTPServerDisconnected exception throughout all the SMTP
|
|
connection. Try to contact all MXes for a successful probe.
|
|
|
|
0.1.6:
|
|
- Fixed a rare case where aol.co returns '.' in MX that causes an
|
|
exception for the SMTP module, with added tests.
|
|
|
|
0.1.5:
|
|
- Handle socket errors (https://docs.python.org/3/library/
|
|
socket.html#exceptions)
|
|
|
|
0.1.4:
|
|
- Handle 'No MX record' exception
|
|
|
|
0.1.3:
|
|
- Added ambiguous (4xx) response code handling
|