Ir para o conteúdo
OneKitly

Um anexo cresce um terço dentro do e-mail

Publicado a 07/09/2026 · 4 min de leitura · Ferramentas de ficheiros

Daniel Okonkwo

Daniel OkonkwoProgramador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 3 fontes

Ver perfil
Em resumo

O correio foi concebido para transportar texto, por isso um ficheiro tem de ser reescrito em texto antes de viajar. A codificação usada é base64: cada três bytes tornam-se quatro caracteres imprimíveis, e o MIME corta depois o resultado em linhas de 76 caracteres terminadas por um retorno de carro e uma mudança de linha. Três bytes por quatro dão um fator fixo de 1,3333, os cortes de linha acrescentam 2,6 %, e o total medido é 1,3684 — um ficheiro de 10 MiB ocupa 13,684 MiB da mensagem. Ao contrário, um limite de envio de 25 MB transporta cerca de 18,3 MiB de ficheiros reais, um de 20 MB cerca de 14,6 MiB e um de 10 MB cerca de 7,3 MiB, antes de o corpo e os cabeçalhos tomarem a sua parte. O extrator inverte aqui a codificação e devolve-te os bytes originais, byte a byte: o inchaço só existe dentro da mensagem.

O correio transporta os ficheiros em texto, três bytes escritos em quatro caracteres. Um anexo de 10 MiB ocupa 13,68 MiB da mensagem, pelo que um limite de 25 MB significa na realidade cerca de 18 MiB de ficheiros.

Porque um ficheiro não pode viajar tal como é

Os protocolos do correio foram escritos quando uma ligação garantia sete bits por caractere e mais nada. Um byte de um PDF ou de uma fotografia pode tomar qualquer um de 256 valores, vários dos quais significam algo para um servidor de correio — um retorno de carro solto, um nulo, uma linha que começa por um ponto. O base64 contorna tudo isso usando apenas 64 caracteres em que todos os sistemas concordam, ao preço de escrever quatro por cada três bytes. Essa aritmética não é um detalhe de implementação otimizável: é o preço da garantia de que o ficheiro chega idêntico.

Explica também porque comprimir antes de anexar ajuda e recomprimir um ficheiro já comprimido não. Uma pasta de documentos reduzida a um terço do seu tamanho custa também um terço do base64, porque a codificação se aplica aos bytes que lhe dás. Uma fotografia ou um PDF já estão comprimidos: comprimi-los não ganha nada e o 1,3684 continua a aplicar-se ao tamanho inteiro.

Tirar os ficheiros, com os nomes certos

Cada anexo ocupa a sua própria parte da mensagem, com um Content-Type que diz o que é e um Content-Disposition que dá o nome de ficheiro escolhido pelo remetente. Ambos podem ir codificados em RFC 2047: uma fatura francesa pode chamar-se =?UTF-8?B?ZmFjdHVyZSBqYW52aWVyLnBkZg==?= no ficheiro cru e Facture janvier.pdf depois de descodificada — o extrator descodifica, e é essa a diferença entre uma pasta de nomes legíveis e uma de garatuja. Os nomes sobrevivem ainda a espaços e acentos, que alguns scripts de extração antigos estragam.

Ficheiros que cabem
O que um limite de envio transporta realmente
Limite anunciadoFicheiros que cabemTamanho codificado
25 MB18,3 MiB25 MB
20 MB14,6 MiB20 MB
10 MB7,3 MiB10 MB
Um ficheiro de 10 MiB10 MiB13,68 MiB (×1,3684)
Extrair os anexos de um e-mailRetire todos os anexos de uma mensagem .eml e descarregue-os separadamente.Experimentar a ferramenta

Perguntas frequentes

O ficheiro extraído é idêntico ao que foi enviado?
Sim. O base64 é uma codificação sem perdas: descodificar devolve exatamente os bytes que entraram — a soma de verificação do ficheiro extraído corresponde à do original. É por isso que o correio pode transportar um PDF assinado ou um programa sem os corromper, e por isso o tamanho que vês em disco depois da extração é o real, não o codificado.
Porque é a minha caixa maior do que os ficheiros de que me lembro?
Em parte por isto, e soma. Cada anexo que recebeste é guardado codificado: uma caixa com 3 GiB de ficheiros ocupa cerca de 4,1 GiB. Por cima, uma mensagem que enviaste com anexo costuma ser guardada duas vezes — em Enviados e no fio — e uma mensagem reencaminhada leva outra vez os seus anexos. Extrair e apagar os maiores anexos rende em geral mais do que apagar centenas de mensagens pequenas.
Posso tirar um anexo de uma mensagem que não abre?
Muitas vezes sim, e é uma das melhores razões para ter esta ferramenta à mão. Uma mensagem cujo HTML derrota um cliente de correio continua a ser um ficheiro MIME bem formado, e o anexo ocupa a sua própria parte com a sua própria codificação; o extrator lê a estrutura em vez de apresentar a mensagem, por isso um corpo que não se mostra não impede o ficheiro de sair.

Artigos que podem interessar-lhe

Todos os guias
ExplicaçãoUm .mbox são mensagens coladas umas a seguir às outras, e a cola é uma linhaUm ficheiro, milhares de mensagens, separadas por uma linha que começa por From. O formato tem uma fraqueza famosa, e é a razão pela qual uma mensagem pode perder o seu fim sem que nada assinale um erro.TutorialAbrir um ficheiro .eml sem avisar o remetenteUma mensagem guardada é um ficheiro de texto legível em qualquer lado. O senão é que abri-la em algo que carrega imagens remotas anuncia o momento em que o fizeste — é precisamente para isso que serve um píxel de rastreio.ExplicaçãoUm evento recorrente é uma linha do CSV, não dozeUm ficheiro .ics guarda uma reunião semanal uma só vez, com uma regra anexa. Ao exportar para CSV obténs uma linha para toda a série — é o ficheiro a ser honesto, não o conversor a perder linhas.ExplicaçãoO mesmo ficheiro .ics pode designar cinco horas diferentesO iCalendar escreve uma hora de início de três maneiras, e só uma é inequívoca. Uma reunião escrita com um fuso nomeado, convertida em máquinas de Paris, Nova Iorque e Honolulu, abrangeu dezanove horas e mudou de dia.ExplicaçãoConverter fórmulas em valores guarda a resposta em cache, não o cálculoUm ficheiro de folha de cálculo guarda ao mesmo tempo a fórmula e a última resposta calculada pelo Excel. Retirar a fórmula deixa a resposta guardada — e deixa um vazio onde o ficheiro nunca levou nenhuma.ExplicaçãoO número 1 e o texto «1» não são duplicadosA remoção de duplicados compara linhas inteiras de forma exata, tipo de célula incluído. Cinco linhas de aspeto idêntico saíram como três: uma levava um número, outra uma cadeia e outra uma cadeia com um espaço à frente.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?