HTML代码中不需要的爆炸(!)

时间:2013-09-02 07:08:58

标签: python html

我有一个问题,当我在下面的python中使用“sendmail”函数发送电子邮件时,我的HTML代码@ http://pastie.org/8289379中出现了BANG(!),我已经阅读了HTML电子邮件解析中的@感叹号帖子是将它更改为base-64编码数据或在我的长行html代码上添加\ r \ n,我不知道如何将HTML代码更改为base-64编码?有没有人有任何其他想法摆脱这个砰(!)?

msg = MIMEText("%s" % body, 'html')
msg['Content-Type'] = "text/html; charset=ascii"
s = SMTP('localhost',25)
s.sendmail('userid@company.com', ['userid2@company.com'],msg=msg.as_string()

1 个答案:

答案 0 :(得分:2)

此处提供了一些信息:http://bugs.python.org/issue6327

  

请注意,邮件服务器每行的限制为990个字符   包含在电子邮件中。如果发送了电子邮件消息   包含超过990个字符的行,这些行将是   由额外的行结束字符细分,这可能导致   电子邮件中的损坏,尤其是HTML内容。至   防止这种情况发生,添加自己的行结束字符   电子邮件中的适当位置以确保没有行   超过990个字符。

我认为你必须将你的HTML分成几行。您可以使用textwrap.wrap方法。