.. image:: https://github.com/zopefoundation/Products.MailHost/actions/workflows/tests.yml/badge.svg :target: https://github.com/zopefoundation/Products.MailHost/actions/workflows/tests.yml
.. image:: https://coveralls.io/repos/github/zopefoundation/Products.MailHost/badge.svg?branch=master :target: https://coveralls.io/github/zopefoundation/Products.MailHost?branch=master
.. image:: https://img.shields.io/pypi/v/Products.MailHost.svg :target: https://pypi.org/project/Products.MailHost/ :alt: Latest stable release on PyPI
.. image:: https://img.shields.io/pypi/pyversions/Products.MailHost.svg :target: https://pypi.org/project/Products.MailHost/ :alt: Stable release supported Python versions
The MailHost product provides support for sending email from within the Zope environment using MailHost objects.
An optional character set can be specified to automatically encode unicode input, and perform appropriate RFC 2822 header and body encoding for the specified character set. Full python email.Message.Message objects may be sent.
Email can optionally be encoded using Base64 or Quoted-Printable encoding (though automatic body encoding will be applied if a character set is specified).
MailHost provides integration with the Zope transaction system and optional support for asynchronous mail delivery. Asynchronous mail delivery is implemented using a queue and a dedicated thread processing the queue. The thread is (re)-started automatically when sending an email. The thread can be started manually (in case of restart) by calling its manage_restartQueueThread?action=start method through HTTP. There is currently no possibility to start the thread at Zope startup time.
Supports TLS/SSL encryption (requires Python compiled with SSL support).
To force MailHost to only queue mails without sending them, activate queuing
in the ZMI and set the environment variable MAILHOST_QUEUE_ONLY=1
.
This could be helpful in a staging environment where mails should not be sent.