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.

Fonti primarie