>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Come decodificare un'e-mail in formato MIME

La maggior parte delle email inviate oggi sono formattate MIME (Multipupose Internet Mail Extensions). Ciò consente di inviare e-mail con versioni di testo normale e RTF/HTML, immagini inline e allegati. Le estensioni MIME possono essere aggiunte a un messaggio nel formato standard RFC/822 in modo da ottenere la compatibilità con le versioni precedenti con i vecchi sistemi di posta.

Passaggio 1

Carica il contenuto del messaggio di posta elettronica.

Passaggio 2

Controlla l'intestazione "Tipo di contenuto". Se il tipo di contenuto è multiparte (ad esempio "multiparte/misti", "multiparte/alternativo", ecc.) il messaggio avrà più sezioni da analizzare. Se il tipo di contenuto è multiparte, continua con i passaggi seguenti.

Passaggio 3

L'intestazione Content-Type deve contenere una stringa univoca utilizzata dal codice che ha generato il messaggio MIME per designare i limiti delle parti MIME. Esempio:

Tipo di contenuto:multiparte/misto; confine="part_c7161025_fe8a_45f4_83ef_6befcfa5d021"

La stringa limite in questo caso è "part_c7161025_fe8a_45f4_83ef_6befcfa5d021".

Passaggio 4

Ciascuna parte MIME sarà separata dalla stringa limite preceduta da due trattini ("--") su una riga vuota. Sarà necessario scansionare il messaggio riga per riga cercando i contorni della parte. Tutto il testo tra i confini tranne il CR/LF finale fa parte di quella parte MIME.

Importante:l'ultima parte MIME terminerà con la stringa limite seguita da altri due trattini.

Esempio:

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Prima parte MIME.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Seconda parte MIME

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021 Ultima parte MIME.

--part_c7161025_fe8a_45f4_83ef_6befcfa5d021--

Passaggio 5

Ogni parte MIME deve quindi essere analizzata. Il formato di ciascuna parte MIME è simile al messaggio formattato RFC/822 originale. Conterrà una serie di intestazioni, seguite da una riga vuota, quindi i dati del corpo.

Passaggio 6

Una parte MIME può essere essa stessa multiparte, con la propria intestazione "Content-Type" e la propria stringa limite. Il codice deve analizzare ricorsivamente le parti MIME finché non raggiunge i nodi figlio.

Passaggio 7

Una parte MIME può essere semplicemente un allegato binario. In questo caso viene solitamente fornita un'intestazione Filename, insieme alla codifica del trasferimento. BASE64 è un tipo di codifica popolare. In questo caso l'intero corpo della parte MIME deve essere decodificato BASE64. Ad esempio, ecco le prime righe di un'immagine JPG allegata:

------= NextPart_003_01C755EF.43F2628D Tipo di contenuto:image/jpeg; name="testimage.jpg" Content-Transfer-Encoding:base64 Content-Description:testimage.jpg Content-Disposition:attachment; nomefile="testimage.jpg"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAQABQQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA

Passaggio 8

Il corpo HTML del messaggio dovrebbe trovarsi in una sezione MIME con ContentType:Text/Html, all'interno di una sezione ContentType:Multipart/Alternative MIME.

Passaggio 9

Il corpo del messaggio in chiaro deve trovarsi in una sezione MIME con ContentType:Text/plain, all'interno di una sezione ContentType:Multipart/MIME alternativo.

Suggerimento

Consultare RFC 822 http://www.ietf.org/rfc/rfc0822.txt?number=822 e RFC 1341 http://www.ietf.org/rfc/rfc1341.txt?number=1341 per ulteriori informazioni. Se stai codificando in C#, un'eccellente libreria gratuita è disponibile all'indirizzo http://www.codeproject.com/csharp/mime_project.asp.


  1. Come formattare Straight Talk to Email
  2. Come controllare la mia email di noleggio
  3. Come allegare un file a un'e-mail
  4. Come utilizzare l'e-mail
  5. Come creare un account e-mail
  6. Come eliminare la cronologia delle email