【问题标题】:Which MIME to use if I want to include text version of email and attach files如果我想包含电子邮件的文本版本并附加文件,使用哪个 MIME
【发布时间】:2015-12-20 10:47:15
【问题描述】:

据我了解,电子邮件只能包含一个主要的 Content-Type 标头,是否正确?无论您要发送带有附加文件的消息,还是带有 html 内容和纯文本版本的消息,您都应该使用 Multipart Content-Type。在每个部分中,还可以明确指定该特定部分的内容类型。

rfc1341 我了解到多部分内容类型有两个主要子类型:

  • 多部分/混合(主要)子类型
  • 多部分/替代子类型

如果我想同时包含 html 和纯文本版本,我会使用 Multipart/alternative 作为最外层的Content-Type 标头,因为它的语义含义是(来自rfc1341):

特别是,每个部分都是相同信息的“替代”版本。用户代理应该认识到各个部分的内容是可以互换的。用户代理应该根据用户的环境和偏好选择“最佳”类型,或者为用户提供可用的替代方案。一般来说,选择最佳类型意味着只显示可以显示的 LAST 部分。例如,这可以用于以花哨的文本格式发送邮件,以便可以轻松地显示在任何地方

另一方面,如果我需要附加文件,我应该使用 The Multipart/mixedrfc1341中所述:

混合适用于身体部位独立并连续显示时使用

当您想要附加文件时显然是这种情况。

但是我如何发送带有文件 AND 和文本版本的电子邮件,即当我希望我的多部分信件的某些部分连续显示(主要内容和附件),而其他部分可互换显示(html和纯文本)?那我应该使用什么最外层的Content-Type 标头?

【问题讨论】:

    标签: html email smtp mime-types content-type


    【解决方案1】:

    您将 multipart/alternative 封装在 multipart/mixed 中。

    换句话说,如果您想要一个文本和 HTML 正文并附加一个 zip 文件,那么 MIME 树结构将如下所示:

    multipart/mixed
      multipart/alternative
        text/plain
        text/html
      application/zip
    

    【讨论】:

    • 这似乎是对的。你有这样的邮件的例子吗?
    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 2014-09-26
    • 2015-05-28
    • 2013-07-22
    • 2012-10-31
    • 2014-03-24
    • 2014-02-18
    • 1970-01-01
    相关资源
    最近更新 更多