网络应用电子邮件模板管理
项目描述
关于mailtemplates
mailtemplates是TurboGears2的一个可插拔应用。
mailtemplates提供了一个仪表板,旨在为网站管理者(拥有mailtemplates
权限的人)定制从应用程序发送的电子邮件模板。
模板存储在数据库中,并支持sqlalchemy
和ming
。
kajiki是使用的模板引擎。
安装
mailtemplates可以与tgext.asyncjob
或tgext.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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 649b5bebec665b3a37524e55bfdd51c0482af9db4d32584ca8b0a8891de5ee42 |
|
MD5 | 82937b6c503e178ff2a8fad86e6ad0f6 |
|
BLAKE2b-256 | 328338054679e87e9769814ab9d5ef570b35f6d8b3d985727fb0d065e3ed9e6b |