不使用回车符时,HTML电子邮件呈现错误

时间:2013-03-12 02:02:07

标签: python html email html-email

以下python脚本生成一个可以通过管道传送给sendmail的电子邮件文件。当我发送到我的Gmail帐户时,第25,50和51行不是我所期望的。所有其他行都按预期显示。

import sys
print "From:test@test.com"
print "To:you@you.com"
print "Subject: test no carriage return"
print "MIME-Version: 1.0"
print "Content-Disposition: inline;"
print "Content-Type: text/html"
sys.stdout.write ("<html>" )
count = 1
while ( count < 55):
 # output without a carriage return 
 sys.stdout.write( "<tr><td>test" + str(count) + " no carriage returns!</td>")
 count = count + 1
sys.stdout.write ("</html>")

在电子邮件中我希望第25,50,51行:

 test25 no carriage returns!
 test50 no carriage returns!
 test51 no carriage returns!

而是渲染:

 test25 no carriage retur! ns!
 test50 no ca! rriage returns!
 test51 no carriage returns!        test52 no carriage returns!

如果我将输出更改为使用print而不是stdout,则电子邮件会按预期显示。我也在MS Outlook中尝试过这个效果相同的功能。不使用回车时出现意外结果的原因是什么?

1 个答案:

答案 0 :(得分:0)

不确定这是不是一个错字,但有一件事你没有关闭你的行。你错过了一个:

</tr>

以及打开和关闭表格标签。