O POP3 é um protocolo de acesso de correio extremamente simples. É definido no RFC 1939, que é curto
e bem fácil de ler. Por esse protocolo ser tão simples, sua funcionalidade é bastante limitada. O POP3 começa quando o agente de usuário (o cliente) abre uma conexão TCP com o servidor de correio (o servidor) na porta
110. Com a conexão TCP ativada, o protocolo passa por três fases: autorização, transação e atualização. Durante
a primeira fase, autorização, o agente de usuário envia um nome de usuário e uma senha (às claras) para autenticar o usuário. Na segunda fase, transação, recupera mensagens; é também nessa fase que o agente de usuário
pode marcar mensagens que devem ser apagadas, remover essas marcas e obter estatísticas de correio. A terceira
fase, atualização, ocorre após o cliente ter dado o comando quit que encerra a sessão POP3. Nesse momento, o
servidor de correio apaga as mensagens que foram marcadas.
Em uma transação POP3, o agente de usuário emite comandos e o servidor, uma resposta para cada um deles.
Há duas respostas possíveis: +OK (às vezes seguida de dados do servidor para o cliente), usada pelo servidor para
indicar que correu tudo bem com o comando anterior e –ERR, que o servidor usa para informar que houve algo
errado com o comando anterior.
A fase de autorização tem dois comandos principais: user <user name> e pass <password> . Para ilustrar
esses dois comandos, sugerimos que você realize uma sessão Telnet diretamente com um servidor POP3, usando
a porta 110, e emita os dois comandos. Suponha que mailServer seja o nome de seu servidor de correio. O que
você verá será algo parecido com:
telnet mailServer 110
+OK POP3 server ready
user bob
+OK
pass hungry
+OK user successfully logged on
Se você escrever um comando errado, o POP3 responderá com uma mensagem –ERR.
Agora, vamos examinar a fase de transação. Um agente de usuário que utiliza POP3 frequentemente pode ser
configurado (pelo usuário) para ‘ler-e-apagar’ ou para ‘ler-e-guardar’. A sequência de comandos emitida por um
agente de usuário POP3 depende do modo em que o agente de usuário estiver operando. No modo ler-e-apagar,
o agente de usuário emite os comandos list, retr e dele. Como exemplo, suponha que o usuário tenha duas
mensagens em sua caixa postal. No diálogo abaixo, C: (que representa o cliente) é o agente de usuário e S: (que
representa o servidor), o servidor de correio. A transação será mais ou menos assim:
C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: (blah blah ...
S: .................
S: ..........blah)
S: .
C: dele 1
C: retr 2
S: (blah blah ...
S: .................
S: ..........blah)
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off
O agente de usuário primeiramente pede ao servidor de correio que apresente o tamanho de cada uma
das mensagens armazenadas. Então, ele recupera e apaga cada mensagem do servidor. Note que, após a fase de autorização, o agente de usuário empregou apenas quatro comandos: list, retr, dele e quit. A sintaxe para
esses comandos é definida no RFC 1939. Depois de processar o comando de saída (quit), o servidor POP3 entra
na fase de atualização e remove as mensagens 1 e 2 da caixa postal.
Há um problema com o modo ler-e-apagar: o destinatário, Bob, pode ser nômade e querer acessar seu correio
de muitas máquinas, por exemplo, do PC de seu escritório, do PC de sua casa e de seu computador portátil. O
modo ler-e-apagar reparte as mensagens de correio de Bob entre essas três máquinas; em particular, se ele ler
primeiramente uma mensagem no PC de seu escritório, não poderá lê-la novamente mais tarde em seu computador
portátil. No modo ler-e-guardar, o agente de usuário deixa as mensagens no servidor de correio após descarregá-las.
Nesse caso, Bob pode reler mensagens em máquinas diferentes; pode acessar uma mensagem em seu local de
trabalho e, uma semana depois, acessá-la novamente em casa.
Durante uma sessão POP3 entre um agente de usuário e o servidor de correio, o servidor POP3 mantém alguma
informação de estado; em particular, monitora as mensagens do usuário marcadas para apagar. Contudo, não mantém
informação de estado entre sessões POP3. Essa falta de informação simplifica a implementação de um servidor POP3.
Comentários
Postar um comentário