tecnico · risposta con fonti
MIME (Multipurpose Internet Mail Extensions): cos'è e come funziona
MIME è l'acronimo di Multipurpose Internet Mail Extensions. È uno standard che estende il Simple Mail Transfer Protocol (SMTP) originale per consentire lo scambio di contenuti non testuali, come immagini, audio, video e dati applicativi, oltre a formati di testo avanzato come l'HTML.
Come funziona MIME
MIME aggiunge al messaggio email intestazioni specifiche che indicano al client di posta ricevente come gestire il corpo. L'intestazione più importante è Content-Type, che definisce il tipo di media dei dati. Ad esempio, text/plain indica testo semplice, mentre text/html indica una pagina web formattata. Quando in un'unica email si inviano più tipi di contenuto, si usano i tipi multipart/mixed o multipart/alternative per raggruppare le diverse sezioni.
Perché conta per chi invia
MIME è essenziale per la deliverability e l'esperienza utente delle email moderne. Senza MIME, le email sarebbero limitate ai caratteri ASCII a 7 bit, rendendo impossibile l'internazionalizzazione e impedendo l'uso degli allegati. Con MIME, i mittenti possono fornire una versione di riserva in testo semplice accanto a quella HTML, così il messaggio resta leggibile qualunque siano le capacità del client di posta del destinatario.
Note operative ed errori
Un errore comune è non impostare il charset corretto nell'intestazione Content-Type, con il risultato di caratteri corrotti o mojibake. Un altro problema sono le definizioni errate del boundary nei messaggi multipart, che possono far apparire l'email come codice grezzo o far sparire gli allegati. Assicurati che i dati binari siano codificati correttamente in Base64, per evitare che si corrompano durante il transito attraverso i relay SMTP.
Esempio concreto
Una tipica intestazione MIME per un'email HTML con un allegato ha questo aspetto: Content-Type: multipart/mixed; boundary=boundary_123. Nel corpo, la prima parte è contrassegnata come Content-Type: text/html; charset=UTF-8 per il corpo del messaggio, e la seconda come Content-Type: application/pdf; name=invoice.pdf per il file. Puoi usare SendHQ o i suoi strumenti gratuiti (https://sendhq.cc/tools) per analizzare come sono strutturate le tue intestazioni.
Meccanismi di codifica
Poiché SMTP è stato progettato per il testo, MIME usa schemi di codifica per trasportare dati binari. Base64 è il metodo più comune e converte i file binari in una stringa di caratteri ASCII. La codifica Quoted-Printable si usa per il testo prevalentemente ASCII che contiene pochi caratteri non ASCII: riduce l'overhead rispetto a Base64 mantenendo la compatibilità con i sistemi di posta più vecchi.
Le domande dei team
MIME è la stessa cosa di SMTP?
No. SMTP è il protocollo usato per trasportare l'email da un server all'altro, mentre MIME è lo standard che definisce il formato del contenuto trasportato.
Cos'è il tipo MIME multipart/alternative?
Si usa quando lo stesso contenuto viene inviato in più formati, ad esempio testo semplice e HTML, così il client di posta può scegliere la versione migliore da mostrare.
Perché MIME usa Base64?
Base64 codifica i dati binari in testo ASCII, garantendo che restino intatti quando attraversano server di posta che supportano solo testo a 7 bit.
MIME si può usare anche al di fuori delle email?
Sì, il sistema dei tipi MIME (oggi noti come Media Types) è usato in tutto il web, anche nelle intestazioni HTTP per descrivere il tipo di file scaricato o caricato.