-----
- Feature: Added send coroutine api.
- Feature: Added SMTPUTF8 support for UTF8 chars in addresses.
- Feature: Added connected socket and Unix socket path connection options.
- Feature: Wait until the connect coroutine is awaited to get the event loop.
Passing an explicit event loop via the loop keyword argument is deprecated
and will be removed in version 2.0.
- Cleanup: Set context for timeout and connection exceptions properly.
- Cleanup: Use built in start_tls method on Python 3.7+.
- Cleanup: Timeout correctly if TLS handshake takes too long on Python 3.7+.
- Cleanup: Updated SMTPProcotol class and removed StreamReader/StreamWriter
usage to remove deprecation warnings in 3.8.
- Bugfix: EHLO/HELO if required before any command, not just when using
higher level commands.
- Cleanup: Replaced asserts in functions with more useful errors (e.g.
RuntimeError).
- Cleanup: More useful error messages for timeouts (thanks ikrivosheev!),
including two new exception classes, ``SMTPConnectTimeoutError`` and
``SMTPReadTimeoutError``