0

我正在尝试发送带有颜色编码输出的 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 标签。我写了一个方法/模块,在字符串的适当部分添加 table、tr & td 标签,所以该消息需要电子邮件中的 HTML 表格。但是,这种方法存在一个问题:
1)这并不总是能正常工作。电子邮件(通过运行完全相同的脚本获得)是不同的,并且多次出现不匹配的成员和神秘的 tr 或 td 出现(每次在不同的位置)。即使我的 html 表创建是正确的

任何帮助,将不胜感激。

4

2 回答 2

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 是一个字典,它将 HTML 中存在的键与要插入的值相关联。

于 2012-07-31T16:52:01.063 回答
0

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

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

于 2012-08-08T16:23:32.690 回答