Dois produtos de email de terceiros diferentes que temos estão reagindo de maneira diferente à presença de um cabeçalho de ID de conteúdo na origem MIME de um email. Isso está resultando em uma experiência inconsistente do usuário que estamos tentando resolver.
Aqui está um exemplo:
--boundary-example
Content-Location: CID:somethingatelse
Content-ID: <foo4atfoo1atbar.net>
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64
R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNv
cHlyaWdodCAoQykgMTk5LiBVbmF1dGhvcml6ZWQgZHV
wbGljYXRpb24gcHJvaGliaXRlZC4A etc..
Um produto de email interpreta isso como uma imagem incorporada. O outro interpreta isso como um anexo comum (não incorporado). Se removermos completamente a linha do Content-ID , ambos os produtos pensam que o anexo não está incorporado.
Existe uma RFC específica que conclui definitivamente qual comportamento está correto? Um colega e eu revimos o RFC2392 que no resumo de abertura diz:
The use of [MIME] within email to convey Web pages and their
associated images requires a URL scheme to permit the HTML to refer
to the images or other data included in the message. The Content-ID
Uniform Resource Locator, "cid:", serves that purpose. […] The "cid" scheme refers to a specific body part of a message; its use is generally limited to references to other body parts in the same message as the referring body part. The "mid" scheme may also refer to a specific body part within a designated message, by including the content-ID's address.
Portanto, embora não seja absoluto, estamos inclinados a acreditar que, já que todos os itens incorporados precisam de um CID para fazer referência a eles, e que “geralmente é limitado a outras partes do corpo na mesma mensagem”, e que os anexos não precisam de um CID. , é um comportamento razoável que um produto de email trate a presença de um cid, como um indicador de "intenção de incorporar".
Posso obter confirmação sobre isso?
Respostas:
A
Content-ID
não indica que uma imagem deve ser exibido em linha. Este cabeçalho é necessário para referenciar os dados incorporados no HTML.Como um email é uma mensagem de texto, não há motivo para exibir uma imagem incorporada, desde que o email seja em texto sem formatação.
Alguns clientes exibem os dados em linha, independentemente do formato ser HTML ou texto sem formatação. Mas este não é um comportamento definido
fonte
Acho que você está procurando o
Content-Disposition
campo de cabeçalho, que permite definir o estilo de apresentação de uma parte do corpo (como uma imagem) a serinline
ouattachment
.Aqui está um exemplo embutido criado pelo Thunderbird:
Você pode ler mais em:
fonte