Python HTML电子邮件:自定义输出颜色编码
我正在尝试发送一封带有颜色编码输出的python(2.6)HTML电子邮件。我的脚本创建了一个输出字符串,我将其格式化为一个表(使用str.format)。它可以在屏幕上正常打印: abcd 24222 xyz APython HTML电子邮件:自定义输出颜色编码,python,Python,我正在尝试发送一封带有颜色编码输出的python(2.6)HTML电子邮件。我的脚本创建了一个输出字符串,我将其格式化为一个表(使用str.format)。它可以在屏幕上正常打印: abcd 24222 xyz A abcd 24222 xyz B abcd 24222 xyz A abcd 24222 xyz D 但我也需要把它作为电子邮件发送,我需要有A(比如绿色),B(红色)等等。我怎么做呢 我尝试的是在A、B等的前面和后面附加FONT COLOR=#somecolor&/FONT标记。我
abcd 24222 xyz B
abcd 24222 xyz A
abcd 24222 xyz D 但我也需要把它作为电子邮件发送,我需要有A(比如绿色),B(红色)等等。我怎么做呢 我尝试的是在A、B等的前面和后面附加FONT COLOR=#somecolor&/FONT标记。我编写了一个方法/模块,在字符串的适当部分添加table、tr和td标记),以便邮件希望电子邮件中有一个HTML表。但是,这种方法存在一个问题:
1) 这并不总是能正常工作。这些电子邮件(通过运行完全相同的脚本获得)是不同的,并且多次出现错误的成员和神秘的tr或td(每次出现在不同的位置)。即使我的html表创建是正确的
任何帮助都将不胜感激 您需要的工具箱被调用 你可能想要这样的东西:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart()
msg['Subject'] = u"A subject."
msg['From'] = "sender@example.org"
msg['To'] = "receiver@example.com"
body = MIMEText(MAIL_TEMPLATE.format(**mail_content),
_subtype='html',
_charset='UTF-8')
msg.attach(body)
其中,MAIL_模板是HTML模板,MAIL_内容是一个dict,它将HTML中的键与要插入的值关联起来。好的。她对我来说很有用,以防有人碰到同样的问题。我必须在HTML表中的每个标记之后输入回车(即.\n)。一切都很顺利
PS:关于这是否会对您有所帮助的一个线索是,我正在创建一个大的HTML字符串。您确信您的HTML创建代码是正确的,即使它输出了糟糕的HTML?它并不总是输出糟糕的HTML。有时候一切都很完美,有时候我会在某个地方挂一个奇怪的tr/td标签。好吧,jforberg 3是对的,尽管我的html“看起来”对我来说是有效的,但内容并没有放在body标签中。一旦这个问题得到解决,我上面提到的方法就可以很好地工作了。似乎是不同的电子邮件客户端根据他们自己的奇思妙想:(