我正在使用生成html文件元素树.elementtree.dump在元素上。这些文件在所有浏览器中看起来都不错,文件中的底层代码看起来也不错(没有未闭合的方括号或任何东西)。在
当我通过smtplib向outlook2010发送电子邮件时,我看到了奇怪的格式问题。这些问题是100%可重复的,所以这个问题是合乎逻辑的。下面是一个例子:
<table b="" order="1">
这是我自己发的一封HTML电子邮件的源代码。它正确地写为:
^{pr2}$源代码内。在
如果我在Outlook中使用原始HTML作为源代码编写HTML电子邮件,它的格式是正确的。(新电子邮件附加html文件->作为文本插入)
问题是Outlook还是Python?我用来读取html文件并发送的函数如下。在
def email_Report(mailOptions):
reportName = time.strftime("%Y%m%d.%H%M") + ".html"
ElementTree(mailOptions['report']).write("/home/%s/%s" %(mailOptions['username'],reportName))
#Set sender and receiver to the user building the report.
mailaddr = '%s@acme.com' %(mailOptions['username'])
#Access the report file. Added binary in case we ever use code on Windows
filename = "/home/%s/%s" % (mailOptions['username'], reportName)
open_file = open(filename, 'rb')
emsg = MIMEText(open_file.read(), 'html')
open_file.close()
emsg['Subject'] = "Report for %s generated by %s %s" % (mailOptions['zone'], mailOptions['username'], time.strftime("%d%m%Y-%H%M"))
emsg['To'] = mailaddr
emsg['From'] = mailaddr
#Hostname can be a parameter to SMTP method if localhost isn't listening
sc = smtplib.SMTP()
sc.connect()
sc.sendmail(mailaddr, mailaddr, emsg.as_string())
sc.close()
return
HTML非常简单。没有CSS,没有title或head标记等。只有html->;body->;table->;tr->;th->;(newrow)—>;td->;td等等。我是否可以忽略编码/转义之类的内容?我必须使用mime multipart吗?我使用的是python2.4.3,不能使用任何没有现货的模块。在
你确定你没有达到990个字符的限制吗 workaround for the 990 character limitation for email mailservers
相关问题 更多 >
编程相关推荐