Python HTML电子邮件:自定义输出颜色编码

时间:2012-07-31 16:43:17

标签: 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(红色)等我怎么能这样做?

我试过的是附上FONT COLOR = #somecolor& / FONT标签位于A,B等的正面和背面。我写了一个方法/模块,它添加了表格,tr& td标签)在字符串的适当部分,以便消息像电子邮件中的HTML表。但是,这种方法存在一个问题:
1)这并不总是正常。电子邮件(通过运行完全相同的脚本获得)是不同的,并且多次出现错误的成员和神秘的tr或td(每次在不同的位置)。即使我的html表创建正确

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您需要的工具箱名为email.mime 你可能想要这样的东西:

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_TEMPLATE是HTML模板,而mail_content是一个dict,它将HTML中存在的键与您要插入的值相关联。

答案 1 :(得分:0)

好的。她对我有用,以防任何人碰到同样的问题。我必须在HTML表格中的每个标记之后输入回车符(即\ n)。一切都很好。

PS:关于这是否会对你有所帮助的一个线索是,我正在创建一个大的HTML字符串。