我的应用程序会生成包含用于报告的表格的HTML电子邮件。
s = smtplib.SMTP(self.server)
s.sendmail(self.addrFrom(), self.addrTo(), message.getvalue())
当我在发送之前检查message.getvalue()时,html是有效的。但是,当我将源发送到Outlook时检查源时,它会显示为:
<TD>04/07/2011</TD><!
TD>30/04/2011</TD>
而不是:
<TD>04/07/2011</TD><TD>30/04/2011</TD>
任何人对发生的事情都有任何想法?
答案 0 :(得分:1)
您要为内容类型标头发送什么?记住标题必须在第3个arg中的邮件正文之前发送到sendmail(from,to,mail),每个标题应该以\ r \ n结尾,并且在最终标题之后应该有一个最后的\ r \ n,意思是r \ n \ r \ n将最后一个标题与邮件正文分开。
或者实际上,你应该使用\ n而不是\ r \ n,因为那里有所有不合规的MTA。
答案 1 :(得分:1)
答案 2 :(得分:1)
这不是Outlook(或任何客户端)问题,而是符合RFC的服务器。
您必须自己修改例程或导入textwrap。
有关更多详细信息,请参阅RFC 5321:
4.5.3.1.6。文字行
包含1000的文本行的最大总长度 八位字节(不包括为透明度复制的前导点)。 使用SMTP服务扩展可以增加此数量。
RFC 2821表示相同。