Aiosmtplib

Latest version: v3.0.2

Safety actively analyzes 685525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

2.0.0

-----

- **BREAKING**: Drop Python 3.5 and 3.6 support.
- **BREAKING**: On connect, if the server supports STARTTLS, automatically try
to upgrade the connection. STARTTLS after connect can be turned on or off
explicitly by passing ``start_tls=True`` or ``start_tls=False`` respectively.
- **BREAKING**: Remove deprecated ``loop`` keyword argument for the SMTP class.
- Change: The ``source_address`` argument now takes a (addr, port) tuple that is
passed as the ``local_addr`` param to ``asyncio.create_connection``, allowing
for binding to a specific IP. The new ``local_hostname`` argument that takes
the value to be sent to the server with the EHLO/HELO message. This behaviour
more closely matches ``smtplib``.

In order to not break existing usage, passing a string instead of a tuple to
``source_address`` will give a DeprecationWarning, and use the value as it if
had been passed for ``local_hostname``.

Thanks rafaelrds and davidmcnabnz for raising and contributing work on this
issue.
- Bugfix: the ``mail_options`` and ``rcpt_options`` arguments to the ``send``
coroutine no longer cause errors
- Cleanup: Refactored ``SMTP`` parent classes to remove complex inheritance
structure.
- Cleanup: Switched to ``asyncio.run`` for sync client methods.
- Cleanup: Don't use private email.message.Message policy attribute (instead,
set an appropriate policy based on message class)

1.1.7

-----

- Security: Fix a possible injection vulnerability (a variant of
https://consensys.net/diligence/vulnerabilities/python-smtplib-multiple-crlf-injection/)

Note that in order to exploit this vulnerability in aiosmtplib, the attacker would need
control of the ``hostname`` or ``source_address`` parameters. Thanks Sam Sanoop Snyk
for bringing this to my attention.
- Bugfix: include CHANGLOG in sdist release
- Type hints: fix type hints for async context exit (credit JelleZijlstra)

1.1.6

Not secure
-----

- Bugfix: fix authenticated test failures (credit P-EB)

1.1.5

Not secure
-----

- Bugfix: avoid raising ``asyncio.CancelledError`` on connection lost
- Bugfix: allow UTF-8 chars in usernames and password strings
- Feature: allow bytes type args for login usernames and passwords

1.1.4

Not secure
-----

- Bugfix: parsing comma separated addresses in to header (credit gjcarneiro)
- Feature: add py.typed file (PEP 561, credit retnikt)

1.1.3

Not secure
-----

- Feature: add pause and resume writing methods to ``SMTPProcotol``, via
``asyncio.streams.FlowControlMixin`` (thanks ikrivosheev).

- Bugfix: allow an empty sender (credit ikrivosheev)

- Cleanup: more useful error message when login called without TLS

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.