像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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓为什么Java AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?