以下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中尝试过这个效果相同的功能。不使用回车时出现意外结果的原因是什么?
答案 0 :(得分:0)
不确定这是不是一个错字,但有一件事你没有关闭你的行。你错过了一个:
</tr>
以及打开和关闭表格标签。