Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Pyramid integration package for marrow.mailer, formerly known as TurboMail.
Python Shell
branch: master

Merge pull request #3 from kralla/master

minor compatibility fixes
latest commit 44f98d2c7d
@domenkozar authored
Failed to load latest commit information.
src/pyramid_marrowmailer tab fix
.gitignore initial commit
.pep8 initial commit
.travis.yml remove py2.5 test on travis
HISTORY.rst Back to development: 0.2
LICENSE initial commit initial commit
README.rst remove py2.5 test on travis initial commit
setup.cfg initial commit encoding fix


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.


$ env/bin/easy_install pyramid_marrowmailer


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


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. 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 = 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 =


from pyramid_marrowmailer import get_mailer
mailer = get_mailer(request)
message =


If we have paster .ini something like:

mail.mode = direct or transaction
mail.transport.use = smtp =

Inside a view, we can do:

message =
message.subject = "foobar2" = ""
message.plain = "hi"


$ pip install nose coverage pep8 setuptools-flakes
$ ./
Something went wrong with that request. Please try again.