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