Padrão MIME (Multipurpose Internet Mail Extensions)

Agosto 2015

Introdução ao MIME

O MIME (Multipurpose Internet Mail Extensions) é um standard que proposto pelos laboratórios Bell Communications em 1991 para alargar as possibilidades limitadas do correio electrónico (mail) e nomeadamente permitir inserir documentos (imagens, sons, texto,…) numa mensagem. Foi definido inicialmente pelos RFC 1341 e 1342, que datam de Junho 1992.

O MIME propõe descrever, graças a cabeçalhos, o tipo de conteúdo da mensagem e a codificação utilizada.

O MIME confere ao serviço de mensagens as seguintes funcionalidades:

  • Possibilidade de ter vários objectos (anexos) numa mesma mensagem;
  • Um comprimento de mensagem ilimitado;
  • A utilização de jogos de caracteres (alfabetos) para além do ASCII;
  • A utilização de texto enriquecido (formatação das mensagens, tipo de letras, cores, etc.);
  • Anexo binários (executáveis, imagens, ficheiros áudio ou vídeos, etc.), comportando eventualmente várias partes;



O MIME utiliza directivas de rubrica específicas para descrever o formato utilizado no corpo de uma mensagem, para permitir ao cliente de serviço de mensagens poder interpretá-la correctamente:

  • MIMO-Versão: Trata-se da versão do standard MIMO utilizada na mensagem. Actualmente apenas existe a versão 1.0.
  • Contente: Descreve o tipo e o subtipo dos dados. Pode possuir um parâmetro “charset”, separado por um ponto e vírgula, definindo o jogo de caracteres utilizado.
  • Content-Transfer-Encoding: Define a codificação utilizada no corpo da mensagem.
  • Contente: Representa um identificador único de parte de mensagem.
  • Contente: Dá informações complementares sobre o conteúdo da mensagem.
  • Contente: Define os parâmetros do anexo, nomeadamente o nome associado ao ficheiro graças ao atributo filename.

Principais tipos MIME

O tipo MIME, utilizado na rubrica Content-Type, é utilizado por um lado para caracterizar os documentos ligados a uma mensagem. Um tipo MIME é constituído da seguinte forma:

Content-type: type_MIME_principal/sob_type_MIMO

Uma imagem GIF possuirá por exemplo o tipo MIME seguinte:
Content-type: image/gif


Os tipos principais de dados, chamados às vezes de “tipos de dados discretos”, são os seguintes:

  • text : dados textuais legíveis. text/rfc822 [RFC822]; text/plain [RFC2646]; text/html [RFC2854].
  • imagem : dados binários representando imagens numéricas imagem/jpeg; imagem/gif; imagem/png.
  • audio : dados numéricos sonoros audio/basic; audio/wav
  • vídeos : dados vídeos: vídeos/mpeg
  • aplicação : outros dados binários. aplicação/octet-stream; aplicação/pdf




O tipo MIME é utilizado igualmente na Web para caracterizar os documentos transferidos pelo protocolo HTTP. Assim, aquando de uma transacção entre um servidor web e um navegador Internet, o servidor web envia em primeiro lugar o tipo MIME do ficheiro enviado ao navegador, para que este último possa saber como apresentar o documento.

Formatos de codificação

Para transferir dados binários, o MIME propõe cinco formatos de codificação que podem ser utilizados na rubrica Transfer-encoding :

  • 7bit : formato texto codificado em 7 bits (para as mensagens não acentuadas);
  • 8bit : formato texto 8 bits;
  • quoted-printable: formato Quoted-Printable, recomendado para as mensagens que utilizam um alfabeto codificado em mais de 7 bits (presença de acentos, por exemplo);
  • base64 : formato Base 64, recomendado para o envio de ficheiros binários em anexo;
  • binary : formato binário, desaconselhado.




O MIME, muito aberto, permite utilizar outros formatos de codificação, como os seguintes:

  • BinHex (formato proprietário que pertence à Apple),
  • uuencode,
  • xxencode

Codificação de rubricas

A utilização da rubrica Transfer-encoding permite precisar um formato de codificação para o corpo da mensagem, mas não resolve o problema da codificação das próprias rubricas (por exemplo, o assunto da mensagem).

Assim, para permitir codificar as rubricas com alfabetos de mais de 7 bits, e permitir por exemplo ter um assunto de mail acentuado, o standard MIME propõe o formato seguinte:

=?charset?encodage?resultat?=
  • charset representa o jogo de caracter utilizado,
  • codificação define a codificação desejada com dois valores possíveis:
    • Q para quoted-printable
    • B para base64
  • resultado : texto codificado de acordo com o método especificado.

Eis abaixo um exemplo em codificação Quoted-Printable com « Comment ça marche ? » como assunto de mensagem:
Subject: Comment =?ISO-8859-1?Q?=E7a_marche_=3F?=

Mensagens compostas

Graças ao tipo MIME “multipart”, o standard MIME permite definir mensagens compostas, isto é, mensagens que comportam vários anexos, eventualmente encaixados.


Para o efeito, o MIME permite definir um separador chamado boundary. Trata-se de uma cadeia arbitrária definida em atributo da rubrica Contente-Tipe:

Content-Type: multipart/mixed; 
 boundary="------------020005090303070203010601" 

Cada separador delimita um conteúdo que começa pelas rubricas Content-Type e Content-Encoding. É essencial que o valor deste separador não exista no conteúdo da mensagem.


Existem vários tipos de separadores:

  • multipart/mixed define uma sequência de vários elementos
  • multipart/alternativa define diferentes alternativas para uma mesma informação, por exemplo uma mensagem em formato texto e HTML.
  • Se o cliente de serviço de mensagens for capaz e estiver configurado para o afixar com uma formatação, afixará a versão HTML; se não, afixará a versão texto.
  • multipart/parallel define dados presentes ao mesmo tempo (som e imagem , por exemplo).
  • multipart/signed define uma assinatura numérica para os dados da mensagem
  • multipart/related define informações vinculadas entre elas

Lista dos tipos MIME

Os tipos MIME são normalizados por um organismo chamado IANA (Internet Assigned Numbers Authority). Eis uma lista não exaustiva dos tipos MIME mais correntes

Tipo MIME Tipo de ficheiro Extensão associada
aplicação/atom+xmlFicheiros em formato ATOMatom
aplicação/igesFicheiros CASiges
aplicação/javascriptFicheiros Javascriptjs
aplicação/dxfFicheiros AutoCADdxf
aplicação/mp4Ficheiros MPEG4mp4
aplicação/igesFormato de troca CAO IGESigs,iges
aplicação/octet-streamFicheiros binários não interpretadosbin
aplicação/mswordFicheiros buróticos em formato Microsoft Worddoc
aplicação/pdfFicheiros Adobe Acrobatpdf
aplicação/postscriptFicheiros PostScriptai,eps,ps
aplicação/rtfFormato de texto enriquecidortf
aplicação/sgmlFicheiros SGMLsgml
aplicação/vnd.ms-excelFicheiros folha de cálculo em formato Microsoft Excelxls
aplicação/vnd.ms-powerpointFicheiros diaporama em formato Microsoft Powerpointppt
aplicação/xmlficheiro XMLxml
aplicação/x-tarFicheiros comprimidos tartar
aplicação/zipFicheiros comprimidos ZIPman
audio/basicFicheiros áudio básicosau,snd
audio/mpegFicheiros áudio MPEGmpg,mp3
audio/mp4Ficheiros áudio MPEG-4mp4
audio/x-aiffFicheiros áudio AIFFaif,aiff,aifc
audio/x-wavFicheiros áudio Wavewav
imagem/gifImagens gifman
imagem/jpegImagens JPEGjpg,jpeg,jpe
imagem/pngImagens PNGpng
imagem/tiffImagens Tifftiff,tif
imagem/x-portable-bitmapFichiers Bitmap PBMpbm
imagem/x-portable-graymapFicheiros Graymap PBMpgm
imgem/x-portable-pixmapFicheiros Pixmap PBMppm
multipart/x-zipFicheiros arquivo zipzip
multipart/x-gzipFicheiros arquivo GNU zipgz,gzip
text/cssFolha de estilocss
text/csvFicheiros texto com separação dos valorescsv
text/htmlFicheiros HTMLhtm,html
text/plainFicheiros texto sem formataçãotxt,g,h,c,cc,hh,m,f90
text/richtextFicheiros texto enriquecidosrtx
text/rtfFicheiros texto em formato Rich Text Formatrtf
text/tab-separated-valueFicheiros texto com separação dos valorestsv
text/xmlFicheiros XMLxml
video/h264Vídeos H.264h264
video/dvVídeos em formato DVdv
video/mpegVídeos MPEGmpeg,mpg,mpe
video/quicktimeVídeos QuickTimeqt,mov
video/msvideoVídeos Microsoft Windowsavi

Mais informações

  • Lista oficial dos tipos MIME (IANA - )
  • RFC principais :
    • RFC 2045: MIME Part One: Format of Internet Message Bodies
    • RFC 2046: MIME Part Two: Media Types
    • RFC 2047: MIME Part Three: Message Header Extensions for Non-ASCII Text
    • RFC 2048: MIME Part Four: Registration Procedures
    • RFC 2049: MIME Part Five: Conformance Criteria and Examples
  • RFC adicionais :
    • RFC 1524: The formal description of mailcap files. Mailcap files describe how to handle media types.
    • RFC 2015: MIME Security with Pretty Good Privacy (PGP).
    • RFC 2110: MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML).
    • RFC 2111: Content-ID and Message-ID Uniform Resource Locators.
    • RFC 2112: The MIME Multipart/Related Content-type.
    • RFC 2183: Defines the syntax and sematics of the "Content-Disposition" header to convey presentational information.
    • RFC 2184: MIMO Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations
Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:
Padrao-mime-multipurpose-internet-mail-extensions .pdf

Veja também


MIME (Multipurpose Internet Mail Extensions)
MIME (Multipurpose Internet Mail Extensions)
MIME (Extensiones Multipropósito de Correo Internet)
MIME (Extensiones Multipropósito de Correo Internet)
MIME Standard (Multipurpose Internet Mail Extensions)
MIME Standard (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Este documento, intitulado « Padrão MIME (Multipurpose Internet Mail Extensions) »a partir de CCM (br.ccm.net) está disponibilizado sob a licença Creative Commons. Você pode copiar, modificar cópias desta página, nas condições estipuladas pela licença, como esta nota aparece claramente.