像django通知,但只是发送普通电子邮件。写这些是因为把其他的应用程序转换成一封html邮件很烦人
templated-emails的Python项目详细描述
这个应用程序抽象了电子邮件的发送方式,这样就可以 从纯文本电子邮件切换到html电子邮件,即使您使用的是第三方应用程序。 它通过使用与django通知非常相似的机制来实现这一点。
每封电子邮件都有一个文件夹。在此文件夹中可以放置:
- short.txt(针对主题)
- email.txt(用于纯文本电子邮件)
- email.html(可选,如果还应发送html电子邮件)
一个好的做法是把所有的邮件都放在模板文件夹中的邮件/文件夹中, 因此,很容易看到你的系统正在发送哪些电子邮件
收件人可以是电子邮件数组(作为字符串)或用户。 如果您传递给用户,它还将尝试查找用户存储的语言 (accounts.account.language用pinax表示)并用它发送。
发送电子邮件的工作方式如下:
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"})
系统将添加当前站点(django项目的站点对象) 和静态URL(用于链接静态内容)到模板的上下文。
语言
与django通知类似,系统将尝试查找 用户已在其帐户中设置(但可以使用设置将其配置为其他型号。通知语言模块) 为每个用户提供正确的语言。
内联CSS规则
内联css规则是烦人和乏味的,但如果你想支持所有电子邮件客户端,这是必要的。 因为包含了0.3 pynliner,它将从头部获取css并将其放入与规则匹配的每个元素中
您可以在settings.py中设置一个开关来打开或关闭此功能: TEMPLATEDEMAILS_USE_PYNLINER=False是默认值
芹菜
在内联CSS时,Pynliner可能非常慢你可以移动所有的死刑 使用此设置的芹菜(默认为false):
TEMPLATEDEMAILS_USE_CELERY = True
请注意,给定的上下文未经更改就传递给芹菜
安装
pip install -e http://github.com/philippWassibauer/templated-emails.git#egg=templated-emails
或
pip install templated-emails
依赖关系
- 品林
- cssutils