O MIME, define cinco itens de cabeçalho que podem ser adicionados ao cabeçalho SMTP original:
- MIME Version
- Content Type
- Content Transfer Encoding
- Content Id
- Content Description
MIME Version
Define a versão do MIME utilizada.
Contente Type
Define o tipo dos dados contidos no corpo da mensagem. É possível definir um tipo e um subtipo, separados por barra. Existem sete diferentes tipos de dados:
- Text: Mensagem no formato 7-bit ASCII.
- Multipart: O corpo da mensagem possui partes múltiplas e independentes. Neste caso, o cabeçalho deve definir a fronteira entre cada parte. Cada parte possuirá, separadamente, um Content Type e Encoding. O tipo Multipart permite dois subtipos: signed e encrypted.
O Content Type: multipart/signed é o que permite suporte a serviços de autenticação e verificação de integridade da mensagem, através do de assinatura digital. Quando um cabeçalho é do tipo multipart/signed, é necessário especificar mais três parâmetros:
- boundary: fronteira entre cada parte.
- protocol: protocolo de segurança utilizado.
- micalg: algoritmo MIC usado. MIC (em português: Checagem de Integridade da Mensagem) é o valor computado quando se aplica uma função hash sobre o corpo da mensagem.
O Content Type: multipart/encrypted é o que permite suporte a serviços de encriptação. Quando um cabeçalho é do tipo multipart/encrypted, é necessário especificar os dois parâmetros boundary e protocol.
Um conteúdo do tipo multipart conterá sempre um corpo da mensagem dividido em duas partes: uma parte sobre a qual se aplica o algoritmo de assinatura/encriptação e outra parte contendo as informações de controle necessárias para decriptação.
É importante notar que o MIME, por si só, não provê segurança. Para tanto, é necessário empregar um protocolo de segurança que se capaz de realizar os serviços de assinatura ou encriptação. Isso será mais explicado quando tratarmos especificamente de segurança, no Item 3 (S/MIME).
- Message: pode indicar que o corpo da mensagem é o e-mail inteiro (subtipe = RFC 2822), uma parte do e-mail(subtipe = partial) ou um ponteiro para a mensagem (subtipe = external body).
O subtipo partial é usado quando a mensagem foi fragmentada em diversos e-mails, e esse e-mail é um dos fragmentos. Os fragmentos deverão ser devidamente juntado pelo agente MIME no destino. Neste caso, três parâmetros são necessários: um ID da mensagem, presente em todos os seus fragmentos; o number, número de seqüência deste fragmento; e o total, que define o número total de fragmentos que a mensagem original foi dividida.
- Image: a mensagem é uma imagem. Os subtipos mais comuns são JPEG e GIF.
- Vídeo: a mensagem é um vídeo (imagem variante com o tempo). O subtipo mais comum é o MPEG. Se o vídeo contiver som, este deve ser mandado separadamente, num Content Type: audio.
- Audio: a mensagem é um áudio. O único subtipo é basic, que utiliza para os dados de áudio uma freqüência padrão de 8kHz.
- Application: a mensagem é de um tipo não previamente definido.
Content_Transfer_Encoding
Define o tipo de codificação utilizado. São cinco:
- 7-bit: caracteres NTV ASCII e linhas curtas.
- 8-bit: caracteres não-ASCII e linhas curtas.
- Binary: caracteres não ASCII e linhas de tamanho ilimitado.
- Base64: bloco de 6 bits de dados codificados em 8 bits de caracteres ASCII. Esta a codificação é usada, por exemplo, para transferência de imagens e vídeos.
- Quoted-printable: caracteres não-ASCII codificados como um sinal de igual seguido de um código ASCII.
Content_Id
Define um ID único.
Content_Description
Fornece uma explicação por escrito do conteúdo não-textual.