我有一个python脚本,可以从我的数据库中下载某些信息,用于向客户发送电子邮件。
目前我将html作为字符串拉入并用hthon变量替换html中的预定义字符串。这感觉就像一个非常原始的方式来做到这一点。
我发现了这个:http://karrigell.sourceforge.net/en/pythoninsidehtml.html - 然而,这并不是我想要的,但几乎是正确的想法。
是否有更有效的方法用我的python变量替换HTML电子邮件中的值来创建包含所有用户数据的最终电子邮件,而不仅仅是将它们换成字符串?
答案 0 :(得分:1)
尝试使用emails
库。它支持像Jinja这样的HTML模板。
from emails.template import JinjaTemplate as T
message = emails.html(subject=T('Payment Receipt No.{{ billno }}'),
html=T('<p>Dear {{ name }}! This is a receipt...'),
mail_from=('ABC', 'robot@mycompany.com'))
message.send(to=('John Brown', 'jbrown@gmail.com'),
render={'name': 'John Brown', 'billno': '141051906163'})