Gmail是否为内联附件设置了无效的内容ID头? 短版

Gmail是否为内联附件设置了无效的内容ID头? 短版,gmail,mime,mime-message,rfc822,Gmail,Mime,Mime Message,Rfc822,附件上的内容ID标头的格式必须为本地部分“@”域。Gmail的内容ID中没有@这是一个真正的错误,还是我误读了规范? 长版本 我注意到这个问题,当我试图重新发送一封从Gmail发送的带有内联图像的电子邮件时。我的邮件程序(SwiftMailer)声称内容ID无效 。我通过在Gmail中插入一个内嵌的图像并通过电子邮件发送给自己来创建它 以下是规范的相关部分(据我所知): RFC 822和 msg id=”“;唯一消息id addr spec=本地部分“@”域;全球地址 我错过了什么?Gmai

附件上的内容ID标头的格式必须为
本地部分“@”域
。Gmail的内容ID中没有
@
这是一个真正的错误,还是我误读了规范?

长版本 我注意到这个问题,当我试图重新发送一封从Gmail发送的带有内联图像的电子邮件时。我的邮件程序(SwiftMailer)声称内容ID无效

。我通过在Gmail中插入一个内嵌的图像并通过电子邮件发送给自己来创建它

以下是规范的相关部分(据我所知):

RFC 822和

msg id=”“;唯一消息id
addr spec=本地部分“@”域;全球地址

我错过了什么?Gmail是否不符合规范,或者内容ID中没有
@
可以吗?

因为没有人发布更好的答案

我对RFC的解释与你的一致。我会说Gmail在这里做了错误的事情,按照惯例。然而,根据定义,Gmail所做的事实上是有效的。Gmail太受欢迎了,以至于其他软件无法接受它所做的一切,这为更多的软件以同样的方式违反规范打开了大门,直到它成为标准实践

不幸的是,这意味着目前还没有与现实相符的确切规范。幸运的是,这个问题现在出现在谷歌搜索结果中


问题中的原始电子邮件不见了,下面是另一个例子。这只是多部分消息的编码图像部分。请注意内容ID标题

--089e0153807e5a346d04f1ae7c38
内容类型:image/gif;name=“blank.gif”
内容传输编码:base64
内容ID:
X-附件-Id:ii_14403b4fa16783bf
r0lgodlhaqabaiaap///waaach5baeaaaaaaaaaaaaaaaaaaaaaaaaicraeaw==
--089e0153807e5a346d04f1ae7c38--

来这里问同样的问题。在我的例子中,Rubygem
mail
无法正确解析这些内容ID。我想知道是否有办法就此与Gmail团队中的某个人取得联系。在他们的内容id生成器的末尾添加@gmail可能并不难。我把电子邮件放回去了。我没意识到pastebin超时了。
Content-ID Header Field

In constructing a high-level user agent, it may be desirable to allow
one body to make reference to another.  Accordingly, bodies may be
labelled using the "Content-ID" header field, which is syntactically
identical to the "Message-ID" header field:

 id := "Content-ID" ":" msg-id
msg-id      =  "<" addr-spec ">"            ; Unique message id

addr-spec   =  local-part "@" domain        ; global address
--089e0153807e5a346d04f1ae7c38
Content-Type: image/gif; name="blank.gif"
Content-Transfer-Encoding: base64
Content-ID: <ii_14403b4fa16783bf>
X-Attachment-Id: ii_14403b4fa16783bf

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
--089e0153807e5a346d04f1ae7c38--