跳转到主要内容

类似于django-notifications,但仅用于发送纯文本电子邮件。由于仅仅为了将电子邮件转换为HTML电子邮件就fork其他应用而感到烦恼,因此编写了它。

项目描述

此应用程序以抽象方式发送电子邮件,以便您可以在使用第三方应用时从纯文本电子邮件切换到HTML电子邮件。它是通过使用类似于django-notifications的机制来实现的。

每个电子邮件都有一个文件夹。在这个文件夹中,可以放置以下内容:

  • short.txt(用于主题)

  • email.txt(用于纯文本电子邮件)

  • email.html(可选,如果需要发送HTML电子邮件)

一个良好的实践是将所有电子邮件放在模板文件夹中的emails/文件夹内,这样就可以轻松地查看系统正在发送哪些电子邮件。

收件人可以是电子邮件(作为字符串)的数组或用户。如果您传递用户,它还将尝试查找用户存储的语言(pinax中的accounts.Account.language)并使用它发送。

发送电子邮件的工作方式如下

from templated_emails.utils import send_templated_email
send_templated_email(["philipp@gidsy.com"], "emails/invite_friends", {"my_variable":"blafoo"})

user = User.objects.get(pk=1)
# this will try to switch to the correct language of the user
send_templated_email([user], "emails/invite_friends", {"my_variable":"blafoo"})

系统将添加当前_site(Django项目的Site对象)和STATIC_URL(用于链接静态内容)到模板的上下文中。

语言

类似于django-notification,系统将尝试查找用户在其帐户中设置的语言(但可以通过settings.NOTIFICATION_LANGUAGE_MODULE配置为其他模型)以向每个用户提供正确的语言。

内联CSS规则

内联CSS规则很烦人且繁琐,但如果你想要支持所有电子邮件客户端,这是必需的。从0.3版本开始,pynliner被包括在内,它将CSS从HEAD中取出并放入匹配规则的所有元素中

您可以在settings.py中设置一个切换来打开或关闭此功能:TEMPLATEDEMAILS_USE_PYNLINER = False是默认值。

Celery

当Pynliner内联CSS时可能会相当慢。您可以通过此设置将所有执行移动到Celery(默认为False)。

TEMPLATEDEMAILS_USE_CELERY = True

请注意,给定的上下文将不修改地传递给Celery。

安装

pip install -e http://github.com/philippWassibauer/templated-emails.git#egg=templated-emails

pip install templated-emails

依赖项

  • pynliner

  • cssutils

关注我

项目详情


下载文件

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

源分发

templated-emails-0.6.9.tar.gz (9.1 kB 查看哈希值)

上传时间

由以下支持