0

以下 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 中尝试过,效果相同。不使用回车时出现意外结果的原因是什么?

4

1 回答 1

0

不确定这是否是一个错字,但一方面你没有关闭你的行。您缺少一个:

</tr>

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

于 2013-03-12T02:22:18.870 回答