Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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 Mailer.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. 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:

mailer = request.mailer
message = 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.transport.use = smtp
mail.message.author = foobar@foo.com

Inside a view, we can do:

mailer = request.mailer
message = 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

TODO

  • Add support to use marrow.mailer without usage of transaction
Release History

Release History

This version
History Node

0.1

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyramid_marrowmailer-0.1.zip (11.7 kB) Copy SHA256 Checksum SHA256 Source Sep 16, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting