Wave Corporate

Filtro Web e Monitoramento

Saiba mais sobre os protocolos de serviço de mensagens (SMTP, POP3 e IMAP4

Introdução ao serviço de mensagens electrónicas O correio electrónico é considerado o serviço mais utilizado

Artigos e NotíciasSaiba mais sobre os protocolos de serviço de mensagens (SMTP, POP3 e IMAP4
Saiba mais sobre os protocolos de serviço de mensagens (SMTP, POP3 e IMAP4

Saiba mais sobre os protocolos de serviço de mensagens (SMTP, POP3 e IMAP4

Introdução ao serviço de mensagens electrónicas

O correio electrónico é considerado o serviço mais utilizado na Internet. Assim, a sequência de protocolos TCP/IP oferece uma panóplia de protocolos que permitem gerir facilmente o encaminhamento do correio na rede.

O protocolo SMTP

protocolo SMTP (Simple Mail Transfer Protocol, que se pode traduzir por Protocolo Simples de Transferência de Correio) é o protocolo standard que permite transferir o correio de um servidor a outro em conexão ponto a ponto.

Trata-se de um protocolo que funciona em modo conectado, encapsulado numa trama TCP/IP. O correio é entregue directamente ao servidor de correio do destinatário. O protocolo SMTP funciona graças a comandos textuais enviados ao servidor SMTP (por defeito, para a porta 25). Cada um dos comandos enviados pelo cliente (validados pela cadeia de caracteres ASCII CR/LF, equivalente a um clique na tecla ENTER) é seguido de uma resposta do servidor SMTP composta de um número e de uma mensagem descritiva.

Untitled-1

Eis um cenário de pedido de envio de mail a um servidor SMTP

  • Aquando da abertura da sessão SMTP, o primeiro comando a enviar é o comando HELO seguido de um espaço (notado <SP>) e o nome de domínio da sua máquina (para lhe dizer “bom dia, sou a máquina tal”), seguidamente validar por entrada (notado <CRLF>). Desde Abril de 2001, as especificações do protocolo SMTP, definidas no RFC 2821, impõem que o comando HELO seja substituído pelo comando EHLO.
  • O segundo comando é “MAIL FROM” seguido do endereço de correio electrónico do remetente. Se o comando for aceite, o servidor devolve a mensagem “250 OK”
  • O comando seguinte é “RCPT TO: ” seguido do endereço de correio electrónico do destinatário. Se o comando for aceite, o servidor devolve a mensagem “250 OK”
  • AO comando DATA é a terceira etapa do envio. Anuncia o início do corpo da mensagem. Se o comando for aceite, o servidor reencia uma mensagem intermédia numerada 354, que indica que o envio do corpo do mail pode começar e considera o conjunto das linhas seguintes até ao fim da mensagem localizada por uma linha que contém unicamente um ponto. O corpo do mail contém eventualmente alguns dos cabeçalhos seguinte:
    • Date
    • Subject
    • Cc
    • Bcc
    • From


Se o comando for aceite, o servidor devolve a mensagem “250 OK” 
Eis um exemplo de transacção entre um cliente (C) e um servidor SMTP (S) 

S: 220 smtp.kioskea.net SMTP Ready    
C: EHLO machine1.kioskea.net    
S: 250 smtp.kioskea.net    
C: MAIL FROM:<webmaster@kioskea.net>    

S: 250 OK    
C: RCPT TO:<meandus@meandus.net>    

S: 250 OK    
C: RCPT TO:<tittom@tittom.fr>    

S: 550 No such user here    
C: DATA    
S: 354 Start mail input; end with <CRLF>.<CRLF>    

C: Subject: Petit Bonjour    
C: Salut Meandus,    
C: comment ca va?    
C :    
C: A bientot !    
C: <CRLF>.<CRLF>    

S: 250 OK    
C: QUIT    
R: 221 smtp.kioskea.net closing transmission



As especificações de base do protocolo SMTP exigem que todos os caracteres transmitidos sejam codificados em código ASCII de 7 bits 7 e que o oitavo bit esteja explicitamente a zero. Assim, para enviar caracteres acentuados, é necessário recorrer a algoritmos que integrem as especificações MIMO :

  • base64 para os anexos
  • quoted-printable (de abbréviation QP) para os caracteres especiais contidos no corpo da mensagem




É assim possível enviar um correio graças a um simples Telnet na porta 25 do servidor SMTP :

telnet smtp.kioskea.net 25



(o servidor indicado acima é inexistente de propósito, pode tentar substituindo kioskea.net pelo domínio do seu fornecedor de acesso à Internet)

Eis um sumário dos principais comandos SMTP

Comando Exemplo Descrição
HELO (doravanteEHLO) EHLO 193.56.47.125 Identificação com a ajuda do endereço IP ou do nome de domínio do computador remetente
MAIL FROM: MAIL FROM: expediteur@domaine.com Identificação do endereço do remetente
RCPT TO: RCPT TO: destinataire@domaine.com Identificação do endereço do destinatário
DATA DATA message Corpo do mail
QUIT QUIT Saída do servidor SMTP
HELP HELP Lista dos comandos SMTP suportados pelo servidor




O conjunto das especificações do protocolo SMTP está definido no RFC 821(desde Abril de 2001, as especificações do protocolo SMTP estão definidas noRFC 2821).

O protocolo POP3

O protocolo POP (Post Office Protocol , que se pode traduzir por “protocolo de posto dos correios”) permite, como o seu nome o indica, recuperar o seu correio num servidor distante (o servidor POP). É necessário para as pessoas não ligadas permanentemente à Internet, para poderem consultar os mails recebidos offline.

Existem duas versões principais deste protocolo, o POP2 e o POP3, aos quais são atribuídas respectivamente as portas 109 e 110, funcionando com o auxílio de comandos textuais radicalmente diferentes.

Tal como no caso do protocolo SMTP, o protocolo POP (POP2 e POP3) funciona graças a comandos textuais enviados ao servidor POP. Cada um dos comandos enviados pelo cliente (validado pela sequência CR/LF) é composto por uma palavra-chave, eventualmente acompanhada de um ou vários argumentos, e seguida de uma resposta do servidor POP, composta por um número e por uma mensagem descritiva.

Eis um quadro que recapitula os principais comandos POP2 :

Comandos POP2
Commande Descrição
HELLO Identificação através do endereço IP do computador remetente
FOLDER Nome da caixa a consultar
READ Número da mensagem a ler
RETRIEVE Número da mensagem a recuperar
SAVE Número da mensagem a salvaguardar
DELETE Número da mensagem a suprimir
QUIT Saída do servidor POP2




Eis um sumário dos comandos POP3 :

EComandos POP3
Commande Descrição
USER identifiant Este comando permite a autenticação. Deve ser seguido do nome do utilizador, quer dizer, uma cadeia de caracteres que identificam o utilizador no servidor. O comando USER deve preceder o comando PASS.
PASS mot_de_passe O comando PASS, permite indicar a palavra-passe do utilizador, cujo nome foi especificado aquando de um comando USER prévio.
STAT Informação sobre as mensagens contidas no servidor
RETR Número da mensagem a recuperar
DELE Número da mensagem a suprimir
LIST [msg] Número da mensagem a afixar
NOOP Permite deixar a ligação aberta no caso de inactividade
TOP <messageID> <n> Comando que afixa n linhas da mensagem, cujo número é dado em argumento. No caso de resposta positiva do servidor, este devolve os cabeçalhos da mensagem, seguidamente uma linha virgem e por último asn primeiras linhas da mensagem.
UIDL [msg] Pede ao servidor para enviar de novo uma linha que contém informações sobre a mensagem eventualmente dada em argumento. Esta linha contém uma cadeia de caracteres, chamada lista de identificador única, permitindo identificar de maneira única a mensagem no servidor, independentemente da sessão. O argumento opcional é um número que corresponde a uma mensagem existente sno servidor POP, quer dizer uma mensagem não apagada)
QUIT O comando QUIT pede a saída do servidor POP3. Provoca a supressão de todas as mensagens marcadas como apagadas e reenvia o estado desta acção.




O protocolo POP3 gere assim a autenticação com a ajuda de um nome de utilizador e de uma palavra-passe, em contrapartida não é seguro porque as senha, assim como os mails, circulam às claras (de maneira não codificada) na rede. Na realidade, de acordo com o RFC1939, é possível codificar a palavra-passe que utiliza o algoritmo MD5 e assim beneficiar de uma autenticação protegida. Contudo, sendo este comando opcional, poucos servidores o aplicam. Por outro lado, o protocolo POP3 bloqueia a caixa de correio aquando da consulta, o que significa que uma consulta simultânea por dois utilizadores de uma mesma caixa de correio é impossível.

Tal como é possível enviar um correio electrónico graças à Telnet, é igualmente possível aceder ao seu correio recebido graças a um simples Telnet na porta do servidor POP (110, por defeito) :

telnet mail.kioskea.net 110


(o servidor indicado acima é voluntariamente inexistente, pode tentar substituindo kioskea.net pelo domínio do seu fornecedor de acesso à Internet) 

S: +OK mail.kioskea.net POP3 service    
S: (Netscape Messaging Server 4.15 Patch 6 (built Mar 31 2001))    
C: USER jeff    
S: +OK Name is a valid mailbox    
C: PASS mon_pass    
S: +OK Maildrop ready    
C: STAT    
S: +OK 2 0    
C: TOP 1 5    
S: Subject: Bom-dia    
S: Salut Meandus,    
S: comment ca va?    
S :    
S: A bientot !    
C: QUIT    
S: +OK



A afixação dos dados que introduz depende do cliente Telnet que utiliza. De acordo com o seu cliente Telnet, poderá talvez ter de activar a opção echo local.

O protocolo IMAP

O protocolo IMAP (Internet Message Access Protocol) é um protocolo alternativo ao protocolo POP3 mas que oferece muitas mais possibilidades:

  • IMAP permite gerir vários acessos simultâneos
  • IMAP permite gerir várias caixas de correio
  • IMAP permite triar o correio de acordo com mais critérios


Mais informações

Para mais informações sobre o protocolo SMTP, deve consultar o RFC 821 que explica de maneira detalhada o protocolo :

Para uma leitura offline, é possível baixar gratuitamente este artigo no formato PDF:

Os-protocolos-de-servico-de-mensagens-smtp-pop3-e-imap4.pdf
Fonte: Kioskea

related posts