Un allegato cresce di un terzo dentro l'e-mail
Pubblicato il 07/09/2026 · 4 min di lettura · Strumenti per file
Daniel Okonkwo — Sviluppatore front-end e redattore Tech presso OneKitly
Performance web · Formati di file
Verificato su 3 fonti
La posta è stata pensata per trasportare testo, quindi un file va riscritto come testo prima di viaggiare. La codifica usata è base64: ogni tre byte diventano quattro caratteri stampabili, e MIME spezza poi il risultato in righe da 76 caratteri terminate da ritorno a capo e avanzamento di riga. Tre byte per quattro danno un fattore fisso di 1,3333, le interruzioni di riga aggiungono il 2,6 %, e il totale misurato è 1,3684 — un file da 10 MiB occupa 13,684 MiB del messaggio. All'inverso, un limite d'invio di 25 MB trasporta circa 18,3 MiB di file reali, uno da 20 MB circa 14,6 MiB e uno da 10 MB circa 7,3 MiB, prima che corpo e intestazioni prendano la loro parte. L'estrattore inverte qui la codifica e ti restituisce i byte originali, byte per byte: il gonfiore esiste solo dentro il messaggio.
La posta trasporta i file come testo, tre byte scritti in quattro caratteri. Un allegato da 10 MiB occupa 13,68 MiB del messaggio, ed ecco perché un limite di 25 MB significa in realtà circa 18 MiB di file.
Perché un file non può viaggiare così com'è
I protocolli della posta furono scritti quando una connessione garantiva sette bit per carattere e nulla di più. Un byte di un PDF o di una fotografia può assumere uno di 256 valori, molti dei quali significano qualcosa per un server di posta — un ritorno a capo isolato, un nullo, una riga che inizia con un punto. Base64 aggira tutto ciò usando solo 64 caratteri su cui ogni sistema concorda, al prezzo di scriverne quattro ogni tre byte. Quell'aritmetica non è un dettaglio d'implementazione da ottimizzare: è il prezzo della garanzia che il file arrivi identico.
Spiega anche perché comprimere prima di allegare aiuta e ricomprimere un file già compresso no. Una cartella di documenti ridotta a un terzo costa anche un terzo del base64, perché la codifica si applica ai byte che le dai. Una fotografia o un PDF sono già compressi: zipparli non guadagna nulla e l'1,3684 si applica ancora alla dimensione intera.
Tirare fuori i file, con i nomi giusti
Ogni allegato sta in una propria parte del messaggio, con un Content-Type che dice che cos'è e un Content-Disposition che porta il nome di file scelto dal mittente. Entrambi possono essere codificati RFC 2047: una fattura francese può chiamarsi =?UTF-8?B?ZmFjdHVyZSBqYW52aWVyLnBkZg==?= nel file grezzo e Facture janvier.pdf una volta decodificata — l'estrattore decodifica, ed è la differenza fra una cartella di nomi leggibili e una di scarabocchi. I nomi sopravvivono anche a spazi e accenti, che certi vecchi script di estrazione rovinano.
| Limite dichiarato | File che ci stanno | Dimensione codificata |
|---|---|---|
| 25 MB | 18,3 MiB | 25 MB |
| 20 MB | 14,6 MiB | 20 MB |
| 10 MB | 7,3 MiB | 10 MB |
| Un file da 10 MiB | 10 MiB | 13,68 MiB (×1,3684) |
Domande frequenti
- Il file estratto è identico a quello inviato?
- Sì. Base64 è una codifica senza perdita: decodificare restituisce esattamente i byte entrati — la somma di controllo del file estratto coincide con quella dell'originale. È per questo che la posta può trasportare un PDF firmato o un programma senza corromperli, e per questo la dimensione che vedi su disco dopo l'estrazione è quella reale e non quella codificata.
- Perché la mia casella è più grande dei file che ricordo di aver ricevuto?
- In parte sì, e si somma. Ogni allegato che hai ricevuto è conservato codificato: una casella con 3 GiB di file ne occupa circa 4,1. In più, un messaggio che hai inviato con allegato di solito è conservato due volte — in Inviati e nel filo — e un messaggio inoltrato riporta di nuovo i suoi allegati. Estrarre e cancellare gli allegati più grandi rende in genere più che cancellare centinaia di messaggi piccoli.
- Posso estrarre un allegato da un messaggio che non si apre?
- Spesso sì, ed è una delle ragioni migliori per avere questo strumento a portata di mano. Un messaggio il cui HTML mette in crisi un client di posta resta un file MIME ben formato, e l'allegato sta in una parte propria con la propria codifica; l'estrattore legge la struttura invece di rendere il messaggio, quindi un corpo che non si visualizza non impedisce al file di uscire.
Articoli che potrebbero interessarti
Tutte le guide →Strumenti correlati
Fonti
Hai notato un errore in questo articolo?