Introdução

Conceitos Básicos e historico

Email : Protocolos de transferência

Qmail: Arquitetura

Qmail: Instalação

Comparativos entre Servidores de Email (MTA)

Conclusões e Perguntas

Bibliografia

 

 

Nos anos 80, o mundo da computação foi dramaticamente mudado com a invenção do computador pessoal. Os PCs começaram a surgir nas corporações, tomando o lugar de terminais burros que eram usados para a comunicação com computadores de grande porte e mini computadores.

Muitas organizações utilizavam algum tipo de servidor de rede que permitia as estações de trabalho a compartilhar espaço de disco em servidores de arquivos. Isto criou um novo tipo de servidor de email que utilizava espaço em disco compartilhado pela rede.

Pacotes modernos de email como o Microsoft Exchange, Novell GroupWise e IBM Lotus Notes usam programas que acessam uma área comum de disco contendo as caixas postais. Estas caixas postais são normalmente contidas em um único banco de dados. Para acessar este banco, os programas MUAs que eram executados nas estações de trabalho deveria ser capazes de ler e processar estes bancos. Este método quase sempre se utilizava de protocolos proprietários para acessas as caixas postais no banco de dados.

Os programas MTAs freqüentemente se tornavam muito complicados nestes ambientes. Como o sistema de emails usava banco de dados especiais, o método de envio de mensagens para sistemas remotos dependia do tipo de sistema remoto. Se o sistema remoto era do mesmo tipo do sistema que enviou a mensagem, então o mesmo protocolo proprietário poderia ser usado para transferir a mensagem. Se o sistema remoto fosse diferente, o MTA deveria converter, se possível, a mensagem para o formato padrão e utilizar um protocolo de email padrão para enviar a mensagem. A figura 5 mostra um exemplo de um sistema proprietário para uma rede corporativa.

Figura 5
Figura 5

Com sistemas de email em rede, estações de trabalho dedicadas são freqüentemente requisitadas a rotear mensagem entre os destinos. Isto aumenta a chance de falha, já que existe equipamentos e programas adicionais ao servidor de email envolvidos na transferência de email.

Outro possível problema com sistemas de email proprietários é o banco de dados de mensagens. Todas as mensagens são armazenadas em banco de dados, e o tamanho deste aumenta em proporção ao numero de mensagens salvas no sistemas. Não é incomum encontrar banco de dados com mais de 1 GB de tamanho em uma empresa pequena. Nestas situações, o banco de dados pode se tornar corrupto, e rotinas de recuperação teriam que ser executadas. Se estas forem mal sucedidas, todas as mensagens do banco seriam perdidas. Sistemas UNIX mantém caixas postais individuais para cada usuário. Se uma caixa postal se torna corrupta, somente um usuário irá perder suas mensagens, e os outros não serão afetados. Como falado anteriormente, o qmail leva este tópico a frente, pois tem a capacidade de criar caixas postais em diretórios, com cada mensagem correspondendo a uma arquivo no diretório. Assim, mensagens com problemas não irão destruir toda a caixa postal.

Sistemas proprietários de email não são muito populares. Além disso, tendem a ser muito caros. Usar pacotes de email com código aberto significa que deve-se utilizar protocolos de código aberto para realizar a comunicação de mensagem entre servidores. Existem muitos protocolos que foram desenvolvidos para permitir que as mensagens pudessem ser transmitidas entre servidores de email e que clientes pudessem ler suas mensagens dos servidores de email. Essa seção descreve estes protocolos.

Protocolos MTA

Os programas MTA devem ser capazes de transferir mensagens para usuários em servidores remotos de email. Para realizar isto, um pacote MTA deve poder realizar uma comunicação com outro pacote MTA para mover não somente a mensagem, mas também as informações de identificações necessárias para que estas fossem identificadas por usuários remotos. Programas MTA utilizam principalmente o seguinte protocolo para transferir mensagens e informação entre servidores remotos:

SMTP

O Protocolo de Transferência Simples de Email (Simple Mail Tranfer Protocol - SMTP) foi desenvolvido como o método primário para transferir mensagens pela Internet entre servidores MTAs. Qualquer servidor conectado a Internet pode utilizar o protocolo SMTP para enviar uma mensagem para um servidor remoto.
O protocolo SMTP usa comandos simples para estabelecer uma conexão e para transferir informação e dados entre servidores. Os comandos consistem de palavras únicas com informações adicionais seguindo o comando. Cada linha de comando é transmitida através da Internet em caracteres ASCII planos. Após cada comando, o servidor remoto deve envia um código de resposta para o servidor de origem de forma a indicar se o comando teve sucesso.

A tabela abaixo mostra os comandos mais comuns do protocolo SMTP.

Comando
Descrição
HELO
Abre uma saudação do cliente
MAIL
Identifica remetente da mensagem
RCPT
Identifica receptor da mensagem
DATA
Identifica o início da mensagem. O fim desta é identificado por um ponto e retorno de linha.
RSET
Zera a conexão SMTP
HELP
Requisita lista de comandos
QUIT
Para a sessão SMTP

A figura 6 demonstra um conexão SMTP entre dois servidores.

Figura 6
Figura 6


Nenhuma autenticação é necessária no servidor remoto, pois nenhuma função foi realizada neste servidor. É responsabilidade do servidor remoto interpretar a mensagem recebida e decidir se irá encaminhá-la a caixa postal correspondente.

Para cada comando que o cliente envia para o servidor SMTP, este deve responder com uma mensagem. Estas mensagens são compostas de duas partes: a primeira é um código numérico de três dígitos que é utilizado pelo programa SMTP para identificar se o comando foi bem sucedido ou não, e porque; já a segunda parte é uma mensagem de texto para ajuda humanos a entender o significado desta mensagem. Os códigos podem ser divididos em quatro grupos: erro, informação, serviço e ação. A tabela a seguir descreve alguns exemplos destes códigos.

Código
Descrição
Tipo
500
Erro de Sintaxe
Erro
503
Seqüência errada de comandos
Erro
214
Mensagem de Ajuda
Informação
220
Serviço Pronto
Serviço
250
Ação requerida OK, completada
Ação
550
Ação não completada: caixa posta não disponível
Ação

Para identificar servidores remotos, o protocolo SMTP utiliza o sistema de nomes de domínios (DNS). O DNS é um banco de dados distribuído na Internet que permite servidores serem unicamente identificados por um nome, assim como um endereço IP. Cada área na Internet tem seu servidor DNS que é responsável por manter os registros DNS para esta área ou zona. Qualquer servidor Internet nesta zona que usa um nome registrado no DNS tem uma entrada no banco de dados neste servidor. Esta entrada mapeia o endereço IP do servidor para seu nome oficial no DNS.

A mensagem de email SMTP é basicamente composta por uma parte chamada cabeçalho, onde vão todos os parâmetros de envio e controle do email e outra chamada de corpo, onde o email em si é transmitido.

Protocolos MUA

O objetivo de protocolos MUA é permitir que usuários leiam as mensagens de suas caixas postais. Em um sistema UNIX com um único usuário isto não é um problema - o usuário esta autenticado no sistema pelo terminal. Porém, em um ambiente multiusuários, existirão múltiplos usuários que necessitam acessar suas caixas postais para ler as mensagens. Isto seria praticamente impossível de se fazer utilizando uma única tela de terminal.

Para favorecer este cenário, alguns protocolos foram desenvolvidos para permitir que usuários de redes remotas pudessem autenticar e ler as mensagens em suas caixas postais no servidor de email. Cada usuário pode se conectar com sua caixa postal no servidor de email através de seu programa MUA que está em sua estação de trabalho. O programa MUA utiliza protocolos especiais para se conectar ao servidor de email e manipular as mensagens na caixa postal. Os dois mais populares protocolos são:

O Protocolo de Agência de Correio

O protocolo mais simples de MUA é o Protocolo de Agência de Correio (Post Office Protocol - POP). A versão atual do POP é a versão 3, assim surgindo o termo POP3. Programas MUA na estação de trabalho usam o protocolo POP3 para acessar e ler as mensagens na caixa postal do usuário. A figura 7 mostra um exemplo deste acontecimento.

Figura 7
Figura 7

Um ponto importante a ressaltar é que quando o protocolo POP3 é usado, as mensagens do usuário são lidas da caixa postal e armazenadas na estação de trabalho local. Normalmente, os programas MUA das estações de trabalho apagarão as mensagens da caixa postal do servidor quando estas forem lidas, liberando assim espaço neste.

O Protocolo Interativo de Acesso a Mensagens

Outro protocolo MUA que é geralmente utilizado é o Protocolo Interativo de Acesso a Mensagens (Interactive Mail Acess Protocol - IMAP). O IMAP está atualmente na versão 4, revisão 1, assim o termo IMAP4rev1 é freqüentemente utilizado. Programas MUA em estações de trabalho podem utilizar o protocolo IMAP para manipular emails em pastas que podem estar localizadas no servidor de email. A figura 8 mostra um exemplo de estação de trabalho utilizando o protocolo IMAP.

Figura 8
Figura 8

Em uma conexão IMAP, todas as mensagens do usuários residem no servidor de email. As mensagens são transmitidas somente para serem mostradas na tela da estação de trabalho. Este protocolo é útil se o usuário deve acessar sua caixa de mensagens de computadores diferentes. Usando o protocolo POP3, a cada momento que o usuário acessar sua caixa postal, as mensagens atuais são baixadas para a estação de trabalho usada para acesso. Isto poderia facilmente distribuir mensagens entre vários computadores diferentes. O IMAP previne esta situação mantendo todas as mensagens no servidor de email, não importando qual a estação de trabalho utilizada para a visualização. Enquanto isto é mais conveniente para o usuário, faz com que o trabalho do administrador de servidores de email mais difícil. Nesta situação, o espaço em disco no servidor poderá rapidamente ser preenchido com mensagens não apagadas e necessita-se de um cuidado especial.

>> Proxima

 
Trabalho desenvolvido por Alan Rubin - Redes I - 2001/02 - Prof. Otto C.M.B.D.