Skip to main content

Pyramid integration package for marrow.mailer, formerly known as TurboMail

Project description

Pyramid integration package for "A highly efficient and modular mail delivery
framework for Python 2.6+ and 3.1+, formerly TurboMail."

Currently it must be used with ``pyramid_tm``, as ``.send()`` only works
if ``transaction``.commit() succeeded.

INSTALL
=======

::

$ env/bin/easy_install pyramid_marrowmailer


USAGE
=====

If you have package installed, you can configure it in Pyramid like always::

config.include('pyramid_marrowmailer')

All settings ``marrow.mailer`` expects are prefixed with ``mail.``. If you want
to use different prefix, set it with ``pyramid_marrowmailer.prefix``.

To see what options ``marrow.mailer`` support, see
`the documentation <https://github.com/marrow/marrow.mailer>`_. Note that
boolean options need a ``.on`` suffix. For example ``mail.transport.debug.on = true``.
Options that need to be converted to integer, add ``int`` suffix. For example
``mail.transport.port.int = 1337``.

``pyramid_marrowmailer`` calls ``Mailer.start`` when ``config.include('pyramid_marrowmailer')``
is called. ``atexit`` is used to register ``Mailer.stop`` to shutdown when wsgi server will exit.

Note that ``pyramid_marrowmailer`` subclasses ``marrow.mailer.Mailer`` to provide support for
``transaction``. Class is importable from ``pyramid_marrowmailer.TransactionMailer``.

You can accces ``pyramid_marrowmailer.TransactionMailer`` instance in two ways::

message = request.mailer.new()
...
message.send()


Or::

from pyramid_marrowmailer import get_mailer
mailer = get_mailer(request)
message = mailer.new()
...
message.send()


EXAMPLE
=======

If we have paster ``.ini`` something like::

mail.mode = direct or transaction
mail.transport.use = smtp
mail.message.author = foobar@foo.com

Inside a view, we can do::

message = request.mailer.new()
message.subject = "foobar2"
message.to = "foobar2@bar.com"
message.plain = "hi"
message.send()


TESTING
=======

::

$ pip install nose coverage pep8 setuptools-flakes
$ ./pre-commit-check.sh
Changelog
=========


0.2 (2018-07-11)
----------------

- #2: mailer without use of transaction
[Remco Verhoef]

- #3: encoding file fix
[Sandro Nardi]

- #4: sortKey must be a string under Python 3
[nandoflorestan]


0.1 (2012-09-17)
----------------

- Initial release.
[Domen Kožar]


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyramid_marrowmailer-0.2.tar.gz (6.0 kB view hashes)

Uploaded source

Built Distribution

pyramid_marrowmailer-0.2-py3-none-any.whl (5.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page