A maioria dos e-mails enviados hoje são formatados em MIME (Multipupose Internet Mail Extensions). Isso permite que os e-mails sejam enviados com versões em texto simples e rich text / HTML, imagens embutidas e anexos. As extensões MIME podem ser adicionadas a uma mensagem no formato RFC / 822 padrão para que a compatibilidade com versões anteriores seja alcançada com sistemas de correio mais antigos.
Passo 1
Carregue o conteúdo da mensagem de e-mail.
Vídeo do dia
Passo 2
Verifique o cabeçalho "Content-Type". Se o tipo de conteúdo for multiparte (ou seja, "multiparte / misto", "multiparte / alternativa" etc.), a mensagem terá várias seções para analisar. Se o tipo de conteúdo for multiparte, continue com as etapas abaixo.
etapa 3
O cabeçalho Content-Type deve conter uma string exclusiva usada pelo código que gerou a mensagem MIME para designar os limites da parte MIME. Exemplo:
Tipo de conteúdo: multipart / misto; limite = "part_c7161025_fe8a_45f4_83ef_6befcfa5d021"
A string de limite neste caso é "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".
Passo 4
Cada parte MIME será separada pela string de limite precedida por dois travessões ("-") em uma linha em branco. Você precisará examinar a mensagem linha por linha, procurando os limites das peças. Todo o texto entre os limites exceto o CR / LF final faz parte dessa parte MIME.
Importante: a última parte do MIME terminará com a string de limite seguida por mais dois travessões.
Exemplo:
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Primeira parte MIME.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Segunda parte MIME
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Última parte MIME.
--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--
Etapa 5
Cada parte MIME precisa ser analisada. O formato de cada parte MIME é semelhante à mensagem original formatada em RFC / 822. Ele conterá uma série de cabeçalhos, seguidos por uma linha em branco e os dados do corpo.
Etapa 6
Uma parte MIME pode ser multiparte, com seu próprio cabeçalho "Content-Type" e string de limite. Seu código deve analisar recursivamente as partes MIME até atingir os nós filhos.
Etapa 7
Uma parte MIME pode ser simplesmente um anexo binário. Nesse caso, um cabeçalho de nome de arquivo geralmente será fornecido, junto com a codificação de transferência. BASE64 é um tipo de codificação popular. Nesse caso, todo o corpo da parte MIME deve ser decodificado em BASE64. Como exemplo, aqui estão as primeiras linhas de uma imagem JPG anexada:
=NextPart_003_01C755EF.43F2628D Tipo de conteúdo: imagem / jpeg; name = "testimage.jpg" Codificação de transferência de conteúdo: base64 Descrição do conteúdo: testimage.jpg Disposição de conteúdo: anexo; filename = "testimage.jpg"
/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL / 2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIjyMjIyMjIyMjIjIjMjIyMjIyMjIjIjMjIyMjIyMjIjMjMjIyMjIyMjIjAjMjIyMjIyM AhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEAwUFBAQA
Etapa 8
O corpo HTML da mensagem deve estar em uma seção MIME com ContentType: Text / Html, dentro de uma seção ContentType: Multipart / Alternative MIME.
Etapa 9
O corpo do texto simples da mensagem deve estar em uma seção MIME com ContentType: Text / plain, dentro de uma seção ContentType: Multipart / Alternative MIME.
Coisas que você precisa
Conhecimento de uma linguagem de computador (ou seja, C ++, C #, VB, etc).
Conhecimento básico do formato de uma mensagem de e-mail formatada em RFC / 822.
Dica
Consulte RFC 822 http://www.ietf.org/rfc/rfc0822.txt? numero = 822 e RFC 1341 http://www.ietf.org/rfc/rfc1341.txt? número = 1341 Para maiores informações. Se você estiver codificando em C #, uma excelente biblioteca gratuita está disponível em http://www.codeproject.com/csharp/mime_project.asp.