Skip to main content
https://travis-ci.org/axant/tgapp-mailtemplates.svg?branch=master

About mailtemplates

mailtemplates is a Pluggable application for TurboGears2.

mailtemplates provides a dashboard meant for managers of your website (whoever has the mailtemplates permission) allowing them to customize the templates of the email that are sent from your application.

the templates are stored in a database and both sqlalchemy and ming are supported.

kajiki is the template engine used.

Installing

mailtemplates can work with tgext.asyncjob or tgext.asyncjob you can choose by installing with the right bundle:

pip install "mailtemplates[asyncjob]"

or:

pip install "mailtemplates[celery]"

if you just want to send emails in a syncronous context then install the base package and plug with async_sender set to None

Plugging mailtemplates

In your application config/app_cfg.py import plug:

from tgext.pluggable import plug

Then at the end of the file call plug with mailtemplates:

plug(base_config, 'mailtemplates')

For configure your default language for email templates, add the ISO 3166-2 code as parameter of the plug call:

plug(base_config, 'mailtemplates', default_language='IT')

If not specified, ‘EN’ will be the default language for you app.

If you intend to use tgext.celery then plug and configure it before plugging mailtemplates with async_sender option:

plug(base_config, 'mailtemplates', async_sender='tgext.celery')

and in your .ini file add under celery.CELERY_INCLUDE mailtemplates.lib.celery_tasks:

celery.CELERY_INCLUDE = myapp.lib.celery.tasks mailtemplates.lib.celery_tasks

You will be able to access the plugged application at http://localhost:8080/mailtemplates.

Sending emails

access to the dashboard and create a mail model, then you can use:

from mailtemplates.lib import send_email
send_email(
  recipients=['address@example.com'],
  sender=config.get('mail.username'),
  mail_model_name='test',
  data=dict(test='test string'),
  send_async=True,
)

in your controllers to actually send the email.

details of params of send_email

  • recipients: An array representing the email address of the recipient of the email

  • sender: A string representing the email address of the sender of the email

  • mail_model_name: The name of the MailModel representing an email

  • translation: The language of a TemplateTranslation (e.g. ‘EN’). If omitted, the default language provided while plugging mailtemplates is used

  • data: A dictionary representing the variables used in the email template, like ${name}

  • send_async: The email will sent asynchronously if this flag is True

Note on send_async

if you are already in an asyncronous context then you can’t use tgext.asyncjob with send_async=True, but you’re already in an asyncronous context, so you can just use send_async=False. If you really need to send email asynchronously from an already asyncronous context, then use tgext.celery

Release files for tgapp-mailtemplates 0.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tgapp-mailtemplates 0.16.0
File Size Uploaded
tgapp-mailtemplates-0.16.0.tar.gz 21.3 kB Details

Release files / tgapp-mailtemplates-0.16.0.tar.gz

Download URL tgapp-mailtemplates-0.16.0.tar.gz
Size 21.3 kB
Tags Source
SHA-256 checksum
How to use checksums
649b5bebec665b3a37524e55bfdd51c0482af9db4d32584ca8b0a8891de5ee42
BLAKE2b-256 checksum
How to use checksums
328338054679e87e9769814ab9d5ef570b35f6d8b3d985727fb0d065e3ed9e6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/2.7

Release history Release notifications | RSS feed

This release

0.16.0 This release

1 release file

0.15.0

1 release file

0.14.0

1 release file

0.13.9

1 release file

0.13.8

1 release file

0.13.7

1 release file

0.13.5

1 release file

0.13.4

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page