首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

email.encoders: Encoders

Message从头开始创建对象时,通常需要对通过兼容邮件服务器传输的有效负载进行编码。对于包含二进制数据的image / *text / *类型的消息尤其如此。

email软件包在其encoders模块中提供了一些便利的编码。这些编码器实际使用MIMEAudioMIMEImage类构造函数提供的默认编码。所有的编码器函数只需要一个参数,即消息对象进行编码。他们通常会提取有效负载,对其进行编码,并将有效负载重置为新编码的值。他们还应该适当地设置Content-Transfer-Encoding标头。

请注意,这些功能对于多部分消息没有意义。它们必须应用于各个子部分,并且会TypeError传递一个类型为multipart的消息。

Here are the encoding functions provided:

email.encoders.encode_quopri(msg)

将有效载荷编码为quoted-printable形式,并将Content-Transfer-Encoding标头设置为quoted-printable[1]。当大多数有效负载是正常可打印数据,但包含一些不可打印字符时,这是一种很好的编码方式。

email.encoders.encode_base64(msg)

将有效载荷编码为base64格式,并将Content-Transfer-Encoding标头设置为base64。当您的大部分有效内容是不可打印的数据时,这是一种很好的编码方式,因为它比引用打印的形式更紧凑。base64编码的缺点是它使得文本不可读。

email.encoders.encode_7or8bit(msg)

这实际上并不修改消息的有效负载,但它确实根据有效负载数据将Content-Transfer-Encoding标头设置为7bit8bit适当。

email.encoders.encode_noop(msg)

这什么都不做; 它甚至不设置Content-Transfer-Encoding标头。

1

请注意,使用encode_quopri()进行编码也会对数据中的所有制表符和空格字符进行编码。

扫码关注腾讯云开发者

领取腾讯云代金券