【发布时间】:2015-12-20 10:47:15
【问题描述】:
据我了解,电子邮件只能包含一个主要的 Content-Type 标头,是否正确?无论您要发送带有附加文件的消息,还是带有 html 内容和纯文本版本的消息,您都应该使用 Multipart Content-Type。在每个部分中,还可以明确指定该特定部分的内容类型。
从rfc1341 我了解到多部分内容类型有两个主要子类型:
- 多部分/混合(主要)子类型
- 多部分/替代子类型
如果我想同时包含 html 和纯文本版本,我会使用 Multipart/alternative 作为最外层的Content-Type 标头,因为它的语义含义是(来自rfc1341):
特别是,每个部分都是相同信息的“替代”版本。用户代理应该认识到各个部分的内容是可以互换的。用户代理应该根据用户的环境和偏好选择“最佳”类型,或者为用户提供可用的替代方案。一般来说,选择最佳类型意味着只显示可以显示的 LAST 部分。例如,这可以用于以花哨的文本格式发送邮件,以便可以轻松地显示在任何地方
另一方面,如果我需要附加文件,我应该使用 The Multipart/mixed 如rfc1341中所述:
混合适用于身体部位独立并连续显示时使用
当您想要附加文件时显然是这种情况。
但是我如何发送带有文件 AND 和文本版本的电子邮件,即当我希望我的多部分信件的某些部分连续显示(主要内容和附件),而其他部分可互换显示(html和纯文本)?那我应该使用什么最外层的Content-Type 标头?
【问题讨论】:
标签: html email smtp mime-types content-type