Gmail API 将内容配置从“内联”更改为“附件”

问题描述 投票:0回答:1

我在通过 Gmail 的 API 发送内联附件时遇到了一个奇怪的问题。 我正在使用 .NET 客户端(版本 1.10.0)。 该电子邮件是对我收到的带有内嵌附件的消息的回复,因此附件是回复中引用块的一部分。

这是我发送的原始 MIME 消息:

From: ...
To: ...
Date: Fri, 01 Jul 2016 11:48:29 -0700
Subject: Re: attachment test #2
Message-Id: ...
In-Reply-To:...
References: ...
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-JOa+9Bw0690XCFj1YCPc1Q=="

--=-JOa+9Bw0690XCFj1YCPc1Q==
Content-Type: text/html; charset=utf-8
Content-Id: <W4PKNTOPLYT4.32IVHE45EWK21@BILLRAVDIN9F02>

<div style="font-family: Helvetica, Arial, sans-serif;">back atcha.<div><br>On Fri, Jul 01, 2016 at 11:38 AM, ... wrote:<div>[Omitted for clarity]<img height="168" width="300" src="cid:8AF6D64A-9AAD-4E54-8998-5F08C42F537F"></span></div><br></div></div></div></div></div>
--=-JOa+9Bw0690XCFj1YCPc1Q==
Content-Type: image/jpeg; name="ha ha.jpeg"
Content-Disposition: inline; filename="ha ha.jpeg"
Content-Transfer-Encoding: base64
Content-Id: <8AF6D64A-9AAD-4E54-8998-5F08C42F537F>

[Base64 encoded attachment]

--=-JOa+9Bw0690XCFj1YCPc1Q==--

注意上面内联附件的哑剧部分的内容配置:

内容配置:内联;文件名=“哈哈.jpeg”

这是内联附件部分上的 MIME 标头进入时的样子:

Content-Type: image/jpeg; name="ha ha.jpeg"
Content-Disposition: attachment; filename="ha ha.jpeg"
Content-Transfer-Encoding: base64
Content-ID: <8AF6D64A-9AAD-4E54-8998-5F08C42F537F>
X-Attachment-Id: 594301951148d672_0.1 

我的问题是:为什么 Content-Disposition 现在重写为 attachment 而不是 inline

我发现在浏览器中查看电子邮件时,它按预期显示。 但是,当使用我的 Mac 邮件客户端查看时,内联附件在电子邮件中出现两次。 我怀疑内容配置的变化可能是原因 - 如果您能对此提供任何线索,我们将不胜感激!

gmail-api
1个回答
0
投票

我知道这个问题很老了,但我遇到了同样的问题,终于找到了原因。 Gmail 似乎不支持将 MIME 的

inline
部分的 Content-Disposition 设置为
multipart/mixed

我的 MIME 的结构与原始问题中的示例类似,将

inline
图像放置在
multipart/mixed
部分,最终更改为
attachment
,然后通过某些电子邮件错误地显示为附件客户。

通过将内联图像放置在邮件正文的

multipart/related
部分中,Gmail 停止更改内容处置并且图像得到了正确处理。

这是我用来让它工作的 MIME 结构(请注意,在我的例子中,我还在电子邮件中附加了一个常规文件):

MIME-Version: 1.0
[...]

--MIXED
  --RELATED
    --ALTERNATIVE

    <Plain text version of the email>

    --ALTERNATIVE

    <HTML Version of the email>

    --ALTERNATIVE--
  --RELATED

  <Inline image>

  --RELATED--
--MIXED

<Attachment file>

--MIXED--
© www.soinside.com 2019 - 2024. All rights reserved.