Gmail是否为内联附件设置了无效的内容ID头? 短版
附件上的内容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
本地部分“@”域
。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--
来这里问同样的问题。在我的例子中,Rubygemmail
无法正确解析这些内容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--