Aiosmtplib

Latest version: v3.0.1

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

Scan your dependencies

Page 1 of 4

3.0.1

-----

- Bugfix: 'Future exception was never retrieved' warning in SMTPProtocol
after successful connection close and garbage collection.
- Cleanup: Updated FlowControlMixin logic from stdlib

3.0.0

-----

- **BREAKING**: Drop Python 3.7 support.
- **BREAKING**: Positional arguments are now positional only, and keyword arguments
are keyword only.
- **BREAKING**: Passing ``source_address`` as a string argument (deprecated in 2.0)
is now an error. ``source_address`` takes a (addr, port) tuple that is used as
the ``local_addr`` param of ``asyncio.create_connection``, allowing for binding
to a specific IP. The ``local_hostname`` argument takes the value to be sent to
the server with the EHLO/HELO message (which is what ``source_address`` was used
for prior to 2.0).
- Change: don't use timeout value passed to ``connect`` everywhere,
only for the initial connection (credit wombatonfire)
- Change: removed unnecessary connection lost callback
- Change: revised handling for 'Future exception was never retrieved' warnings in
protocol

2.0.2

-----

- Bugfix: don't send extra EHLO/HELO before QUIT (credit ikrivosheev)
- Change: added SMTPConnectionResponseError for invalid response on
connect only (credit ikrivosheev)

2.0.1

-----

- Bugfix: "tests" and "docs" in the sdist should be includes, not packages,
so that they do not get put in ``site-packages``.

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)

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.