Padrões de Mail

 

 

Existem vários sistemas de mail, como BITNET, Fidonet, MAPI, cc:mail e outros, mas nunca nenhum conseguiu superar o Internet Mail, que assumiu liderança absoluta em uso.

         Alguns clientes ainda usam os outros modelos de e-mail, mas geralmente eles acabam tendo que ter um conversor desse formato para o formato do Internet Mail para se comunicar com outras entidades.

 

 

O modelo Básico do Internet Mail:

 

         O protocolo do Internet Mail é um sistema simples de cliente/servidor. O caminho básico de um e-mail é:

1)     Do proprietário da mensagem (que pode ser um usuário ou um sistema gerador) para seu servidor de mensagens através de SMTP, sendo assim o proprietário tratado como cliente e o servidor como servidor.

2)     Do servidor de mensagens do proprietário para o servidor de mensagens do destino através de SMTP, sendo o servidor do proprietário tratado como cliente, e o servidor do destino como servidor.

3)     Do servidor de destino para o destinatário (que também pode ser um usuário ou um sistema automatizado) através de POP ou IMAP, nesse caso sendo o destinatário o cliente e o servidor o servidor.

 

O sistema original é extremamente simples, composto de um cabeçalho em ASCII seguido do corpo da mensagem, que pode ser um texto ASCII ou um arquivo binário.

 

Movendo mensagens entre servidores SMTP:

 

         O SMTP sempre trabalha como um sistema cliente/servidor. O Host que inicia o contato sempre age como cliente, e o host contatado age como servidor. O cliente tem uma variedade de comandos que podem ser enviados, e que o servidor envia uma breve resposta. O servidor nunca pode enviar um comando para o cliente.

 

         Quando um host vai enviar um e-mail, ele determina para onde o mail deve ir, verificando a tabela DNS e contata o host de destino na porta 25 (default).

 

         Estabelecida a conexão segue-se a seqüência de comandos do cliente, recebendo as respostas do servidor que sempre possuem um número de 3 dígitos informando o status, e geralmente uma mensagem de texto ao lado.

 

         Exemplo de seqüência de comandos e respostas básico:

 

Cliente> Contata o servidor

Servidor> 220 SuperMail server

 

Aqui o cliente aciona uma conexão na porta 25 e o servidor responde com o status 220 e sua descrição.

 

Cliente> HELO SysWare Corp.

Servidor> 250 – SuperMail Hello.

 

         Aqui o cliente se identifica e o servidor responde com o status 250 (status de OK) e se identifica também.

 

Cliente> MAIL FROM: admin@sysware.com

Server> 250 OK

 

         Aqui o cliente diz a origem da mensagem

 

Cliente> RCPT TO: perotto@etcom.ufrgs.br

Servidor> 250 OK

 

         Aqui o cliente diz o destino da mensagem. Este comando pode ser repetido várias vezes para vários recipientes.

 

Cliente> DATA

Servidor> 354 OK, Começe o mail, e termine com <enter>.<enter>

 

         Aqui o cliente pregunta se o servidor está pronto para receber os dados, e o servidor responde que sim

 

 

Cliente>

Linha de dados 1

Linha de dados 2

Linha de dados 3

.

 

Servidor> 250 OK, mensagem enviada.

 

         Aqui o cliente envia o corpo da mensagem (terminando com um ponto sozinho na última linha) e o servidor responde com um OK.

 

Cliente> QUIT

Servidor> 221 Conexão encerrada

 

         Aqui o cliente pede o fim da conexão que é desfeita pelo servidor.

 

Submissão e Relay de mensagens:

 

         Depois de uma mensagem ser criada, ela é submetida, podendo ir para o servidor de mensagens do usuário ou até diretamente para o servidor de destino. A primeira forma é muito comum na Internet, a segunda é mais usada em redes internas.

 

         A mensagem pode ser enviada através de uma seqüência de servidores, a função de repassar um e-mail de outro servidor se chama Relay. Mas tanto a submissão como o relay são feitos através do mesmo protocolo SMTP.

 

         Quando o host de destino recebe a mensagem, ele escreve-a ou em um arquivo independente, ou num arquivo que contém todas as mensagens destinada à uma mesma pessoa ou em um banco de dados, ficando disponível para o servidor POP ou IMAP.

 

Endereço de Mail e registros MX.

 

         A primeira coisa que um servidor faz é descobrir para onde a mensagem deve ir. Dependendo de como estiver configurado o servidor, ele pode enviar a mensagem diretamente para o destino, ou enviar para um outro servidor previamente configurado, que irá repassar essa mensagem adiante.

 

         O domínio após a arroba no endereço sempre deve apontar para um host específico, e para descobrir isso e servidor contata uma tabela de DNS na entrada MX (mail exchange) para descobrir o ip do host de destino. Se não houver nenhuma entrada no registro MX, ele procura nos registros DNS A, não havendo também nenhuma entrada, ele manda uma mensagem de erro para a origem e descarta a mensagem original.

 

Modelos de Mail Atualizados:

 

         O SMTP recebeu algumas atualizações e melhorias com o passar do tempo, aumentando o número de comandos, mas nem todos os servidores tinham os mesmos comandos implementados, então de desenvolveu o padrão ESMTP (SMTP extended).

 

         Quando uma conexão é iniciada e o cliente utiliza ESMTP, ao invés do comando HELO, ele utiliza o EHLO, se este comando retornar um erro, o cliente passa a saber que o servidor não suporta comandos ESMTP, mas se o servidor suportar, ele vai responder exatamente com a lista de comandos que ele está apto a receber.

 

Recebendo mensagens:

 

         Depois que o último servidor guardou a mensagem em disco, o destinatário deve poder receber esta mensagem.

 

         Na maioria das vezes se utilizam os servidores POP para esta função, ele cria um serviço cliente/servidor onde o destinatário é o cliente e o servidor é o servidor.

 

         O funcionamento do servidor POP é bem semelhante ao SMTP, mas os comandos são voltados ao recebimento das mensagens.

 

         Um problema dos servidores POP é que a pessoa não pode escolher que mail ela quer receber e quais ela não quer, podendo deixar o recebimento bem mais lento, por isso foi desenvolvido o servidor IMAP. Este servidor dá ao cliente muito mais controle sobre seus mails, podendo, por exemplo, receber alguns mails e deixar outros no servidor. Um dos problemas dos servidores IMAP é mais político do que técnico, muitos servidores não querem assumir a responsabilidade de estar guardando e-mails de seus clientes.

 

Acessando mail através da WEB:

 

         Este sistema foi desenvolvido e teve uma aceitação muito grande no mercado, pois o usuário muito mais facilmente pode acessar uma página de qualquer lugar sem depender de servidores POP nem IMAP.

         Com esse sistema, também temos a vantagem de acessar nossos mails em aparelhos celulares ou outros eletrônicos que estão surgindo com o acesso à internet.

 

Aplicações voltadas para o cliente:

 

         Várias outras aplicações vêm sendo implementadas nos servidores, uma das mais utilizadas ultimamente é a MDN, que envia uma mensagem de volta ao proprietário na hora em que o destinatário abrir a mensagem, dando mais certeza assim de que ela foi realmente lida por ele.

 

O formato das mensagens:

 

         Tanto SMTP, como POP e IMAP ignoram o que contém na área de dados das mensagens, eles somente controlam a origem e o destino delas.

 

         Dentro da área de dados é formado um cabeçalho, que possui todas as descrições da mensagem, citemos um exemplo:

 

Received: from sol.etcom.ufrgs.br by sysware.com with ESMTP id      VAA17989 for (admin@sysware.com) ; wed, 9 dec 1998 21:07:44

From: admin@sysware.com

Message-ID: <8232873.366f53ea@sysware.com>

Date: Wed, 9 dec 1998 21:07:44 EST

To: Rafaello Perotto <perotto@etcom.ufrgs.br>

Mime-version: 1.0

Subject: Lá vai

Content-type: text/plain; charset=US_ASCII

Content-transfer-encoding: 7bit

 

Agora foi

 

         Administrador

 

 

Cabeçalho da mensagem:

 

         O cabeçalho acabou se tornando praticamente padrão e contento muitos dados sobre a transferência.

 

         Uma linha em branco divide o cabeçalho do corpo da mensagem.

 

         Existem várias informações que podem ser colocadas nele, como to, from, subject, date, e outras como Cc. Dependendo da interface que o usuário estiver usando esses dados podem ser recebidos como texto comum e colocados na tela ou podem ser pegos e colocados em campos específicos, gerando mais facilidades para o usuário.

 

         Esses campos são sempre formados por uma palavra (sem espaços), seguida de dois pontos e seguida do valor.

 

Corpo da mensagem:

 

         No início o corpo da mensagem era somente um texto ASCII, mas com o tempo foi implementado o MIME, que permitia o envio de arquivos de qualquer tipo, e o envio de mensagens com formatação de texto.

 

         Outra grande atualização feita pelo MIME além de enviar arquivos é poder enviar a mensagem em dois formatos, exemplo um HTML e um texto, os programas mais evoluídos abririam o HTML, mas os que não suportam HTML podem abrir o texto e receber a mesma mensagem.

 

         Com o maior uso de HTML e imagens juntos enviados por e-mail, foi desenvolvido o MHTML, protocolo que define como as imagens e o texto devem aparecer para o cliente.

 

         MIME ainda permite outros tipos de recursos como encriptar o e-mail ou com PGP ou com qualquer outro recurso de codificação que tenha sido implementado para uso com e-mails.

 

Internacionalização dos mails:

 

         Com a divulgação e aumento do uso de mails no mundo inteiro, convencionou-se que no cabeçalho haveria um campo chamado “charset”, na parte do cabeçalho que define o “content-type”, aonde está descrito a tabela de caracteres utilizada.