跳转到主要内容

网络应用电子邮件模板管理

项目描述

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

关于mailtemplates

mailtemplates是TurboGears2的一个可插拔应用。

mailtemplates提供了一个仪表板,旨在为网站管理者(拥有mailtemplates权限的人)定制从应用程序发送的电子邮件模板。

模板存储在数据库中,并支持sqlalchemyming

kajiki是使用的模板引擎。

安装

mailtemplates可以与tgext.asyncjobtgext.celery一起工作,您可以通过安装相应的包来选择。

pip install "mailtemplates[asyncjob]"

pip install "mailtemplates[celery]"

如果您只想在同步上下文中发送电子邮件,则安装基本包,并通过将async_sender设置为None来连接。

连接mailtemplates

在您的应用程序config/app_cfg.py中导入plug

from tgext.pluggable import plug

然后在文件末尾调用plug并带有mailtemplates

plug(base_config, 'mailtemplates')

为了配置电子邮件模板的默认语言,请将ISO 3166-2代码作为plug调用的参数添加

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

如果没有指定,则默认语言为“EN”。

如果您打算使用tgext.celery,请在通过async_sender选项连接mailtemplates之前连接和配置它

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

并在您的.ini文件中,在celery.CELERY_INCLUDE下添加mailtemplates.lib.celery_tasks

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

您可以在http://localhost:8080/mailtemplates访问连接的应用程序。

发送电子邮件

访问仪表板,创建一个邮件模型,然后您可以在您的控制器中使用

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,
)

实际发送电子邮件。

send_email参数的详细信息

  • 收件人:表示电子邮件收件人电子邮件地址的数组

  • 发件人:表示电子邮件发件人电子邮件地址的字符串

  • mail_model_name:表示电子邮件的MailModel的名称

  • 翻译:模板翻译的语言(例如“EN”)。如果省略,则使用插入邮件模板时提供的默认语言

  • 数据:表示电子邮件模板中使用的变量的字典,如${name}

  • send_async:如果此标志为True,则电子邮件将异步发送

关于send_async的说明

如果你已经在一个异步上下文中,则不能使用tgext.asyncjob与send_async=True,但你已经在异步上下文中,所以你可以直接使用send_async=False。如果你确实需要从一个已经异步的上下文中异步发送电子邮件,则使用tgext.celery

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

tgapp-mailtemplates-0.16.0.tar.gz (21.3 kB 查看哈希值)

上传时间

由以下支持