python smtplib和Outlook 2010的HTML格式问题

python smtplib和Outlook 2010的HTML格式问题,python,outlook-2010,smtplib,Python,Outlook 2010,Smtplib,我正在使用元素上的elementtree.elementtree.dump生成html文件。文件在所有浏览器中看起来都正常,文件中的底层代码看起来很好(没有未闭合的括号或任何东西) 当我通过smtplib向Outlook 2010发送电子邮件时,我看到了奇怪的格式问题。这些问题将是100%可重复的,因此问题是合乎逻辑的。以下是一个例子: <table b="" order="1"> HTML非常简单。没有CSS,没有标题或标题标签等。只有html->body->table->tr-

我正在使用元素上的elementtree.elementtree.dump生成html文件。文件在所有浏览器中看起来都正常,文件中的底层代码看起来很好(没有未闭合的括号或任何东西)

当我通过smtplib向Outlook 2010发送电子邮件时,我看到了奇怪的格式问题。这些问题将是100%可重复的,因此问题是合乎逻辑的。以下是一个例子:

<table b="" order="1">

HTML非常简单。没有CSS,没有标题或标题标签等。只有html->body->table->tr->th->(newrow)->td->td等。我可能忽略了编码/转义之类的东西吗?我必须使用mime多部分吗?我使用的是Python 2.4.3,无法使用任何未上市的模块。

您确定邮件服务器没有达到990个字符的限制吗

为了进一步比较,我在变量上使用了一个“print()”语句,该变量在读入MIMEText后具有MIMEText。然后,我将生成的HTML与Outlook中显示的源代码进行了比较。我重新生成了代码,但仍然有一个不同的问题。表的不对齐部分有这样一行:
tdmytext
变量from print()和repr()中显示的html:
mytext
对于未来的读者来说,之所以绑定到elementtree,是因为elementtree.elementtree.dump()吐出了一行xml。在这种情况下,我的线路是26k长。非常好。在这个时间间隔内会发生中断。现在开始调查。
<table border="1">
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