Changelogs » Zope-sendmail

PyUp Safety actively tracks 267,404 Python packages for vulnerabilities and notifies you when to upgrade.



  - Nothing changed yet.


  - Host documentation at
  - Make the data manager sort key a string, this fixes Python 3 where
  strings and integers are not sortable. This would happen when using
  other data managers with string sort keys.
  - Add support for Python 3.5 and 3.6.
  - Drop support for Python 2.6 and 3.3.
  - Declare explicit dependency on ``pywin32`` on Windows.
  - Replace hard-coded constants with equivalents from the standard
  ``errno`` module.
  - Fix SSL support on Python 3. See `issue 9
  - Reach 100% test coverage and maintain it via tox.ini and Travis CI.
  - Replaced deprecated dependency on ``optparse`` with equivalent
  ``argparse``. The help messages have changed and errors are
  generally more clear. Specifying a ``--config`` path that doesn't
  exist is now an error instead of being silently ignored.
  - Fix SMTPMailer sending more than one message. It now reconnects to
  the SMTP server as needed. Previously it could only send one message
  since it closed the connection after each send. This also makes the
  SMTPMailer thread safe. See `issue 1


  - Add support for PyPy3.


  - Add support for testing on Travis-CI against supported Python verisons.
  - Drop use of ``zope.testrunner`` for testing.
  - Drop dependency on ``six``.
  - Replace doctests with equivalent unittests.


  - Fix license Trove classifier.


  - Add support for Python 3.3.
  - Delete event fossils (interfaces ``zope.sendmail.interfaces.IMailSent`` and
  ``zope.sendmail.interfaces.IMailError``. plus the ````
  module and associated tests).  These events were never emitted, and couldn't
  have been used safely even if they had been, due to two-phase commit.
  - Replace deprecated ``zope.interface.classProvides`` usage with equivalent
  ``zope.interface.provider`` decorator.
  - Replace deprecated ``zope.interface.implements`` usage with equivalent
  ``zope.interface.implementer`` decorator.
  - Drop support for Python 2.4 and 2.5.
  - Add a vote method to Mailer implementations to allow them to abort a
  transaction if it is known to be unsafe.
  - Prevent fatal errors in mail delivery causing potential database corruption.
  - Add not declared, but needed test dependency on `zope.component [test]`.
  - Add handling for unicode usernames and passwords, encoding them to UTF-8.
  Fix for
  - Give the background queue processor thread a name.
  - Document the ini file keys for ``zope-sendmail --config`` in the help
  message printed by ``zope-sendmail --help``.  Also rewrote the command-line
  parsing to use optparse (not argparse, since Python 2.6 is still supported).


  - Ensure that the 'queuedDelivery' directive has the same discriminator
  as the 'directDelivery' directive (they are mutually incompatible).
  - Avoid requeuing messages after an SMTP "recipients refused" error.


  - Handle unicode usernames and passwords, encoding them to UTF-8. Fix for


  - Add not declared, but needed test dependency on `zope.component [test]`.


  - Remove no longer required testing dependency on zope.testing.
  - Maildir storage for queue can now handle unicode passed in for message or
  to/from addresses (change backported from repoze.sendmail).
  - Tests use stdlib doctest instead of zope.testing.doctest.


  - Backward compatibility import of zope.sendmail.queue.QueueProcessorThread in


  - Remove dependency on ````: the security support is optional,
  and only available if the ```` package is available. This change
  is similar to the optional security support introduced in ``zope.component``
  3.8.0, and in fact it uses the same helpers.
  - Sort by modification time the messages in zope.sendmail.maildir so earlier
  messages are sent before later messages during queue processing.
  - Add the new parameter ``processorThread`` to the queuedDelivery ZCML
  directive: if False, the QueueProcessorThread is not started and thus an
  independent process must process the queue; it defaults to True for b/c.
  - Provide a console script ``zope-sendmail`` which can be used to process the
  delivery queue in case processorThread is False. The console script can
  either process the messages in the queue once, or run in "daemon" mode.


  - Depend on ``zope.component`` >= 3.8.0, which supports the new semantic of
  zope.component.zcml.proxify needed by zope.sendmail.zcml.


  - Use simple vocabulary factory function instead of custom `UtilityTerm`
  and `UtilityVocabulary` classes, copied from ```` in
  the previous release.
  - Depend on the ``transaction`` package instead of ``ZODB3``.
  - Remove zcml slugs and zpkg-related files.
  - Work around problem when used with Python >=2.5.1.  See .


  - Copyover the UtilityTerm and UtilityVocabulary implementation from to avoid a dependency.
  - Work around a problem when smtp quit fails, the mail was considered not
  delivered where just the quit failed.




  - If the SMTP server rejects a message (for example, when the sender or
  recipient address is malformed), that email stays in the queue forever


  - Add README.txt
  - Can now talk to servers that don't implement EHLO
  - Fix bug that caused files with very long names to be created
  - Fix for move aside mail that's
  causing 5xx server responses.


  - Clean up ``does_esmtp`` in faux SMTP connection classes provided by the
  - If the ``QueueProcessorThread`` is asked to stop while sending messages, do
  so after sending the current message; previously if there were many, many
  messages to send, the thread could stick around for quite a while.


  - ``QueueProcessorThread`` now accepts an optional parameter *interval* for
  defining how often to process the mail queue (default is 3 seconds)
  - Several ``QueueProcessorThreads`` (either in the same process, or multiple
  processes) can now deliver messages from a single maildir without duplicates
  being sent.


  - Bugfix: Don't keep open files around for every email message
  to be sent on transaction commit.  People who try to send many emails
  in a single transaction now will not run out of file descriptors.


  Initial release as a separate project, corresponds to ``zope.sendmail``
  from Zope 3.4.0a1.