带有文本和带有标记的HTML内容的电子邮件
markdownmail的Python项目详细描述
目的
发送包含生成的HTML内容的电子邮件。
内容必须用标记语法编写。电子邮件的文本部分 将按原样填充;HTML部分将是从 标记内容。
安装
$ pip install markdownmail
基本用法
importmarkdownmailCONTENT=u""" SPAMS AND EGGS ============== This is a demo with a list: 1. Spam 2. Second spam 3. ...and eggs """email=markdownmail.MarkdownMail(from_addr=u'alice@example.org',to_addr=u'bob@example.org',subject=u'MarkdownMail demo',content=CONTENT)email.send('localhost')
内容必须为Unicode。
更多信息
附加信息可添加:
email=markdownmail.MarkdownMail(from_addr=(u'alice@example.org',u'Alice'),to_addr=(u'bob@example.org',u'Bob'),subject=u'MarkdownMail demo',content=CONTENT)
from_addr和to_addr参数与Enveloppe库相同。
样式
默认的css会自动添加到电子邮件中。它包括无衬线字体和一些小的改进。
要重写默认css,请将包含样式的字符串传递给MardownMail的css可选参数:
importmarkdownmailemail=markdownmail.MarkdownMail(from_addr=u'alice@example.org',to_addr=u'bob@example.org',subject=u'MarkdownMail demo',content="CONTENT",css="font-family:monospace; color:green;")
运行测试
在执行测试之前,tox会自动安装在virtualenvs中。 使用以下命令执行它们:
$ python setup.py test
禁止在测试中发送电子邮件
如果传递给send()方法的参数是NullServer的实例,则不会发送电子邮件。
email=markdownmail.MarkdownMail(#params)email.send(markdownmail.NullServer())
在测试中断言电子邮件
子类化NullServer允许在^{tt10}中提供自定义行为。$ 方法:
classMyServer(markdownmail.NullServer):defcheck(self,email):assertu'bob@example.org'==email.to_addr[0]email.send(MyServer())
有用链接
信封库:https://pypi.org/pypi/Envelopes/0.4 (MardownMail是信封库的包装。)