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]
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pyramid_marrowmailer-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d76d50787dcd4722f443d5084045653e4038a8fa671f409a0e4966ea3040be |
|
MD5 | 94476600d27613ff230fafbeee6238af |
|
BLAKE2b-256 | a3d905d009e33e6fe0c53b1fe5514c853d5b5f6e435187c88ca2db2f22996fbb |