HTML电子邮件的多个附件,不同的邮件客户端

时间:2019-07-15 22:34:37

标签: email email-attachments

我正在尝试发送带有多个附件(例如jpg和pdf)的电子邮件,以使附件能够正确显示在iOS上的Outlook,Gmail和Mail中。

我尝试过的事情

  • 如果我以纯文本电子邮件形式发送电子邮件,则所有客户端都会显示附件。

  • 如果我在电子邮件中包含纯文本和html部分,则两个附件在iOS中都会消失,而只有jpg在Outlook中会消失。 Gmail会同时显示两个附件。

  • 如果我使用纯文本部分和html部分,但在HTML正文中仅将<img src="cid:<the content id of the file to attach>">用作图像文件,则Outlook和Gmail都将pdf显示为附件并将图像嵌入到其中身体。 iOS已嵌入图像,并且根本没有显示pdf附件。

  • 如果我滥用<img>,只是为了看看会发生什么,并且为jpg和pdf都包含一个<img src="cid:<the content id of the file to attach>">(我知道,我知道),那么iOS最终(且令人困惑)显示了嵌入的图像和一个下载pdf的图标(有效;如果我轻按它,则pdf将按预期方式呈现)。但是现在Outlook会在主体内显示嵌入的图像和位于其下方的断开的链接图像(单击该链接不会执行任何操作),并且在附件区域中没有pdf附件。 Gmail显示了嵌入的图像,尽管它仍将pdf作为附件显示,但缩略图现在为空白,单击它不会呈现pdf(尽管如果您下载,则重新打开它Chrome中的文件,它可以完美呈现)。

问题:标头,编码或构成这三个邮件客户端都将理解的电子邮件位的幕后花絮是什么,这是最低的公分母。我并不特别关注要嵌入的图像,而只是像pdf这样的常规附件,但首选常规附件。我只需要与可能发送电子邮件的每个人(无论客户端如何)一起查看和访问附件即可。

我尝试从Outlook地址发送给自己以及带有相同附件的Gmail。这是电子邮件结构的区别:

失败的一个:

multipart/mixed
  multipart/alternative
    text/plain
    multipart/related
      text/html
      image/jpeg
      application/pdf

可行的是:

multipart/mixed
  multipart/alternative
    text/plain
    text/html
  image/jpeg
  application/pdf

注意:我正在使用Coldfusion(因此src="cid:...."中的<img>就是无关紧要的。我只需要知道客户的期望,然后我就可以敲定如何弯曲一种给定的语言来产生这种声音。

0 个答案:

没有答案