Buscar

Protocolo da Camada de Aplicação SMTP/POP3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SMTP e POP3 
 
 
 
 
 
 
Andrey Cunha 
João Pedro Silva Baptista 
Leonardo Yudi Higuti 
Otávio Leite R. dos Santos 
Roni dos Santos 
Vinícius Vedovotto 
 
Presidente Prudente/São Paulo 
2019 
 
 
Sumário 
 
Introdução ................................................................................................................... 2 
Objetivo ....................................................................................................................... 3 
Correio eletrônico na Internet ...................................................................................... 3 
SMTP .......................................................................................................................... 5 
Como enviar uma mensagem SMTP via Telnet .......................................................... 9 
Comparação com HTTP ............................................................................................ 10 
Formato da mensagem de correio ............................................................................ 10 
Protocolos de acesso ao correio ............................................................................... 11 
POP3 ......................................................................................................................... 13 
E-mail baseado na web ............................................................................................. 16 
Referências ............................................................................................................... 17 
 
2 
 
Introdução 
Esse trabalho realizou um levantamento bibliográfico do SMTP e POP3, sendo 
esses protocolos da camada de aplicação. O SMTP é um protocolo da camada de 
aplicação responsável pelo controle do envio de correios eletrônicos, e como a maioria 
dos protocolos da camada de aplicação ele possui dois lados, cliente e servidor, 
localizados, respectivamente, dos lados de quem envia e de quem recebe o correio. 
O POP3 é um protocolo de acesso ao correio eletrônico, extremamente simples, que 
é utilizado para complementar e aprimorar a usabilidade do SMTP. 
 
 
3 
 
Objetivo 
Esse trabalho tem por objeto realizar um levantamento bibliográfico dos 
protocolos SMTP e POP3 da camada de aplicação. 
Correio eletrônico na Internet 
O correio eletrônico existe desde o início da internet. Foi a aplicação mais 
popular quando a internet estava na sua infância [Segaller 1998], e ficou cada vez 
mais elaborada e poderosa com o decorrer dos anos. Foi a aplicação mais popular 
quando a internet estava na sua infância [Segaller 1998], e ficou cada vez mais 
elaborada e poderosa com o decorrer dos anos. E se mantém como umas das mais 
importantes e utilizadas aplicação da internet. 
Como um simples correio postal, o e-mail consiste em uma forma de 
comunicação assíncrona, em que as pessoas enviam e recebem mensagem quando 
é conveniente para elas, sem a necessidade de coordenar suas agendas. Em 
contraste com o correio, o correio eletrônico é rápido, fácil de distribuir e barato. O e-
mail moderno tem fermentas poderosas, incluindo mensagens com anexos, 
hyperlinks, texto em formato HTML e fotos. 
A seguir, nós examinaremos os protocolos da camada de aplicação que 
consistem no coração do e-mail na Internet. Mas primeiro vamos dar um pulo ao fundo 
da discussão desses protocolos, iremos dar uma olhada por cima no sistema de 
correio da Internet e seus componentes chaves. 
A Figura 1 apresenta a visão por cima do sistema de correio pela internet. 
Podemos ver pelo diagrama que existe três principais componentes: agenda do 
usuário, servidor de correio, e o Protocolo Simples de Transferência do Correio (do 
inglês Simple Mail Transfer Protocol – SMTP). Vamos analisar cada um desses 
componentes para enviar uma mensagem, Alice, está enviando uma mensagem de 
e-mail para outra pessoa, Bob. A agenda de usuário permite ler, responder, 
encaminhar, salvar e criar uma mensagem. O Outlook da Microsoft e o Apple Mail são 
exemplos de agenda de usuários para e-mail. Quando Alice finalizar sua mensagem, 
ela utilizará sua agenda para enviar sua mensagem para o servidor de correio, onde 
a mensagem será colocada na fila de saída do servidor. Quando Bob quiser ler a 
4 
 
mensagem, ele usará sua agenda para recuperar a mensagem em sua caixa postal 
no seu servidor de correio. 
 
Figura 1: Visão geral de um sistema de correio pela internet 
O servidor de correio consiste no núcleo da infraestrutura do e-mail. Cada 
destinatário, assim como Bob, possui uma caixa postal em seu servidor. A caixa postal 
de Bob controla as mensagens que foram enviadas para ele. Uma mensagem típica 
inicia sua jornada quando o emissário utiliza sua agenda, viajando por seu servidor de 
correio para o servidor de correio do destinatário, sendo essa depositada na caixa 
postal do destinatário. Quando Bob quer acessar a mensagem em sua caixa postal, o 
servidor de correio que a contém exige uma autenticação para Bob (nome de usuário 
e senha). O servidor de correio de Alice deve lidar com eventuais falhas no servidor 
de Bob. Se o servidor de Alice não pode entregar a mensagem para o servidor de 
destino, ele deve armazenar a mensagem em uma fila de mensagem para envio 
posterior. Geralmente novas tentativas são realizadas a cada 30 minutos, caso não 
5 
 
tenham sucesso após alguns dias, o servidor remove a mensagem e notifica o 
emissário (Alice) com uma mensagem de e-mail. 
O SMTP é o principal protocolo da camada de aplicação para o controle do 
correio eletrônico na internet. Ele usa o serviço de transferência de dados seguro do 
TCP para transferir o correio do servidor do emissário para o servidor do destinatário. 
Assim como a maioria dos protocolos da camada de aplicação, o SMTP tem dois 
lados: o lado do cliente, executado no servidor do emissário, e o lado servidor, que é 
executado no servidor do destinatário. Ambos lados, cliente e servidor do SMTP 
rodam em todos servidores de correio. Quando um servidor de correio envia correio 
para outro servidor, ele age como um SMTP cliente. Quando um servidor de correio 
recebe uma mensagem, ele age como um SMTP servidor. 
SMTP 
O SMTP, definido no RFC 5321, é o coração do correio eletrônico na internet. 
Conforme supramencionado, o SMTP transfere a mensagem do servidor do emissário 
para o servidor do destinatário. O SMTP é muito mais antigo que o HTTP. (O SMTP 
RFC original dada de 1982, e SMTP existia antes disso) Embora o SMTP tenha 
inúmeras e maravilhosas qualidades, evidenciado por sua onipresença na internet, ele 
possui algumas características arcaicas. Por exemplo, todas as mensagens (corpo e 
cabeçalho) enviadas estão restritas aos 7-bit do ASCII. Essa restrição fazia sentido 
nos anos 80 quando a capacidade de transmissão era escassa e ninguém enviava e-
mails com anexos ou imagens grandes, arquivos de áudio ou vídeo. Mas atualmente, 
na era da multimidia, a restrição aos 7-bit do ASCII é custosa, é necessário que o 
arquivo multimidia seja convertido em binário para a transmissão pelo SMTP e precisa 
o ASCII correspondente para a decodificação após a transmissão. Vale lembrar que 
o HTTP não precisa que a multimidia seja convertida em ASCII para sua transferência. 
Para ilustrar uma operação básica do SMTP, vamos, através de um cenário 
comum. Supor que Alice quer enviar para Bob uma mensagem simples com ASCII. 
1. Alice utiliza sua agenda de usuário para o e-mail, insere o endereço de e-mail 
de Bob (por exemplo, bob@escola123.edu), cria a mensagem, e clica em 
enviar. 
6 
 
2. A agenda da Alice envia a mensagem par seu servidor de correio, onde é 
colocado na fila demensagem. 
3. O lado cliente do SMTP, rodando no servidor da Alice, vê a mensagem na fila 
de mensagem. Ele abre uma conexão para um SMTP servidor, que roda no 
servidor de correio de Bob. 
4. Depois de uma conexão inicial no SMTP, o SMTP cliente envia a mensagem 
de Alice para uma conexão TCP. 
5. No servidor de Bob, o lado servidor do SMTP recebe a mensagem. Então do 
servidor de Bob coloca sua mensagem em sua caixa postal. 
6. Bob faz o login em sua agenda para ler a mensagem quando lhe for 
conveniente.
 
Figura 2: Alice envia uma mensagem pra Bob 
O cenário acima descrito está apresentado na Figura 2. 
É importante observar que o SMTP não usa servidores de correio 
intermediários para enviar a mensagem, mesmo quando os dois servidores de correio 
estão localizados em locais oposto no mundo. Se o servidor de Alice está em Hong 
Kong e o servidor de Bob está em São Paulo, a conexão TCP é direta entre os 
servidores de Hong Kong e São Paulo. Em particular, se o servidor de Bob está off, a 
mensagem fica no servidor de correio de Alice e aguarda para uma nova tentativa, a 
mensagem não fica armazenada em algum servidor intermediário. 
Agora vamos dar uma olhada como o SMTP transfere uma mensagem de um 
servidor que a envia para um que a recebe. Vamos ver que o protocolo SMTP possui 
muitas similaridades com os protocolos usados para a interação face a face dos seres 
humanos. Primeiro, o cliente SMTP (rodando no servidor que envia a mensagem) tem 
7 
 
que estabelecer uma conexão para porta 25 do servidor SMTP (rodando no servidor 
que recebe a mensagem). Se o servidor está off, o cliente faz uma nova tentativa 
depois. Uma vez que essa conexão seja estabelecida, o servidor e o cliente fazem um 
“aperto de mão” na camada de aplicação, semelhante quanto os humanos se 
apresentam antes de transmitirem informação entre eles, o SMTP cliente e servidor 
se apresentam antes de transferir a informação. Durante essa fase de “aperto de mão” 
do SMTP, o SMTP cliente indica o endereço de e-mail do emissário (a pessoa que 
gerou a mensagem) e o endereço de e-mail do destinatário. Uma vez que o SMTP 
cliente e servidor se apresentam, o cliente envia a mensagem. O SMTP conta com a 
transferência segura de dados do TCP para que a mensagem chegue ao servidor sem 
erros. O cliente repete o processo na mesma conexão TCP caso tenha outra 
mensagem para enviar para o servidor, de outra forma ele instrui que a conexão TCP 
seja fechada. 
Agora vamos dar uma olhada em um exemplo de uma transcrição de uma 
mensagem trocada entre um SMTP cliente (C) e um SMTP servidor (S). O nome do 
hospedeiro do cliente é - crepes.fr - e do servidor é - hamburger.edu -. O texto ASCII 
precedidas com C: são exatamente as linhas que o cliente envia para o socket TCP, 
e o texto ASCII precedidos com S: são exatamente as linhas que o servidor envia para 
o socket TCP. A Figura 3 se inicia assim que a conexão TCP é estabelecida. 
 
Figura 3: Exemplo de uma mensagem com a conexão TCP estabelecida. 
 
No exemplo da Figura 3, o cliente envia uma mensagem (“Você gosta de 
ketchup? E o que acha de pepino em conserva?”) do servidor crepes.fr para o servidor 
de correio hamburger.edu. Como parte do diálogo, o cliente insere cinco comandos: 
8 
 
HELO (abreviação de HELLO, “Olá” em inglês), MAIL FROM, RCPT TO, DATA e 
QUIT. Embora os comandos demonstrados sejam autoexplicativos a Tabela 1 faz uma 
descrição detalhada de cada um e apresenta alguns que não foram utilizados. O 
cliente também envia uma linha que consiste em um único período, que indica o final 
da mensagem para o servidor. No jargão do ASCII, cada mensagem finaliza com 
CRLF.CRLF, onde CR e LF representam o retorno do carro e nova linha, 
respectivamente. O servidor insere resposta pra cada comando, com cada resposta 
tendo um código de resposta e alguma (opcional) explicação em English-language. 
Nos mencionamos onde que o SMTP conexões persistentes: Se o servidor que envia 
tem várias mensagens para enviar para o mesmo servidor destinatário, ele pode 
enviar essa mensagem pela mesma conexão TCP. Para cada mensagem, o cliente 
inicia o novo processo com uma nova MAIL FROM: crepes.fr, determina o final da 
mensagem com o período isolado, e insere SAIR somente após a mensagem ter sido 
enviada. 
COMANDO DESCRIÇÃO 
HELO É o comando no qual o programa cliente se identifica. 
MAIL FROM É o comando para identificar o usuário emissor. 
RCTP TO 
É o comando para identificar o destinatário. É importante notar que 
esse comando será repetido várias vezes antes de a mensagem ser 
enviada. Isso permite que seja enviada uma mesma mensagem 
para um grupo de pessoas. 
DATA 
Esse comando indica que todos os destinatários foram 
especificados e o emissor está pronto para transferir a mensagem. 
QUIT 
É o comando usado para identificar ao destinatário que o remetente 
terminou e que a conexão pode ser desfeita. 
Tabela 1: Comandos SMTP 
E altamente recomendado que você use Telnet para carregar diretamente o 
diálogo com um servidor SMTP. Para isso utiliza-se: 
 
telnet serverName 25 
 
quando serverName é o nome de um servidor de correio local. Quando você faz isso, 
você está simplesmente estabelecendo uma conexão TCP entre seu host local e o 
servidor de correio. Despois de escrever essa linha, você deve imediatamente receber 
9 
 
220 como resposta do servidor. E depois fazer uso dos comandos SMTP HELO, MAIL 
FROM, RCPT TO, DATA, CRLF.CRLF e QUIT na hora apropriada. Também é 
altamente recomendado que você faça a tarefe de programação 3 no final desse 
capitulo. Nessa tarefa, você construirá uma agenda de usuário que implementa o lado 
do cliente em SMTP. E também permitirá que você envie uma mensagem de e-mail 
para um destinatário arbitrário em um servidor local. 
As respostas recebidas pelos clientes possuem códigos que informam se o 
comando emitido está ou não de acordo com aquilo que o servidor esperava receber. 
A Tabela 2 apresenta uma explicação para os códigos emitidos pelo protocolo SMTP. 
CÓDIGO DESCRIÇÃO 
2XX É um OK e significa que o comando foi processado com sucesso. 
4XX 
Refere-se a uma mensagem de erro do tipo servidor temporariamente 
indisponível. 
5XX Refere-se a uma mensagem de erro do tipo de sintaxe. 
Tabela 2: Descrição dos códigos gerados pelo SMTP 
Como enviar uma mensagem SMTP via Telnet 
A seguir, descrevemos os passos que devem ser seguidos para a emissão de 
um e-mail por meio de uma conexão Telnet feita como servidor e-mail na porta TCP 
25. Esse e-mail será enviado utilizando os comandos no nível texto, disponíveis pelo 
protocolo SMTP. 
1. Inicialmente, o usuário identifica-se para o servidor, informando seu endereço eletrônico 
por meio do comando MAIL FROM: user@servername.edu. 
2. O servidor pode ou não aceitar a origem da mensagem. Se aceitar, enviará ao cliente o 
código 250 OK. 
3. O cliente identifica os destinatários, informando os endereços eletrônicos por meio do 
comando RCPT: reciver@anotherserver.edus, e assim por diante, caso haja outros 
destinatários. 
4. Se o servidor for capaz de entregar a mensagem para o destinatário, ele enviará ao cliente 
o código 250 OK. Do contrário, o cliente receberá a mensagem iniciada pelo código 550, o 
qual indica que a caixa de mensagens desse usuário escolhido encontra-se indisponível ou 
inexistente. A mensagem que indica erro será recebida pelo cliente alguns minutos depois 
do seu envio. 
5. O cliente envia o comando DATA ao servidor para indicar que está pronto para transmitir. 
6. O servidor indica que o cliente pode iniciar a transmissão, enviando o códigoo 354 para o 
cliente, seguido da mensagem Start mail input: end wtih <CRLF>.<CRLF>(<enter>.<enter>).7. O cliente transmite a mensagem inteira, de uma só vez, acrescentando, no final, a 
sequência <CRLF>.<CRLF>. 
10 
 
8. O servidor conclui informando o sucesso da transmissão, retornando ao cliente o código 
250 OK. 
9. O próximo passo é informar ao destinatário que a conexão pode ser encerrada por meio 
do comando QUIT. Depois da execução desse comando, o cliente receberá a mensagem 
iniciada pelo código 221. 
Comparação com HTTP 
Vamos fazer uma breve comparação com HTTP. Ambos protocolos são de 
transferência de arquivos de um host para outro: o HTTP transfere arquivos (também 
chamados objetos) de um servidor Web para o cliente Web (navegador); SMTP 
transfere arquivos (isto é, mensagens de e-mail) de um servidor de correio para outro. 
Enquanto estão transferindo os dados, tanto HTTP e SMTP usam conexões 
persistentes. Portanto, os dois protocolos têm características em comum. Entretanto, 
existem diferenças importantes. Primeiro o HTTP é principalmente um protocolo de 
baixar – alguém carrega informação em um servidor Web e usuários usam HTTP para 
baixar a informação do servidor quando for conveniente. Nos detalhes da conexão 
TCP é iniciada pela máquina que recebe o arquivo. Por outro lado, SMTP é o principal 
protocolo para empurrar – o servidor emissário empurra o arquivo para o servidor 
destinatário. Nos detalhes da conexão TCP é iniciada pela máquina que pretende 
enviar um arquivo. 
Uma segunda diferença é que o SMTP requer que cada mensagem, incluindo 
seu corpo, seja em formato de 7-bit ASCII. Desse modo, se a mensagem contém 
caracteres que não estão no 7-bit ASCII (por exemplo, caracteres do Francês com 
acentos) ou contém dados binários (como um arquivo de imagem), a mensagem tem 
que ser codificada em 7-Bit ASCIII. Os dados HTTP não passam por essa restrição. 
A terceira diferença importante diz respeito a como um documento que contém 
imagens e texto (além da possibilidade de outras mídias) é tratado. Enquanto o HTTP 
encapsula cada objeto em seu próprio HTTP de mensagem de resposta. O correio da 
internet coloca todos os objetos de uma mensagem em uma mensagem. 
Formato da mensagem de correio 
Quando Alice escreve uma carta comum para Bob, ele pode adicionar qualquer 
tipo informação adicional no cabeçalho da carta, como o endereço de Bob, seu próprio 
endereço, e a data. Similarmente, quando uma mensagem de e-mail é enviada de 
11 
 
uma pessoa a outra, o cabeçalho contém informações adicionais precedem o corpo 
da mensagem. Essas informações adicionais estão localizadas nas linhas de 
cabeçalho, cada uma definida no RFC 5322. As linhas do cabeçalho e do corpo são 
separadas por uma linha em branco (isto é, por CRLF). O RFC 5322 específica o 
formato exato das linhas do cabeçalho e sua interpretação semântica. Assim como o 
HTTP, cada linha do cabeçalho contém um texto legível, consistindo de uma palavra 
chave seguida por uma aspa seguida pelo valor. Algumas dessas palavra chaves são 
obrigatórias e outras são opcionais. Todo cabeçalho deve ter uma linha From: (de) e 
uma To: (para), também deve obter uma linha Subject: (assunto) podendo ou não ter 
outras linhas opcionais. É importante notar que essas linhas de cabeçalho são 
diferentes da mostrada anteriormente (mesmo que elas contenham as palavras 
“From” e “To”). Os comandos nesta sessão são parte do protocolo de handshaking do 
SMTP, as linhas de cabeçalho examinadas nesta sessão são parte da mensagem em 
si. 
Uma mensagem típica pode ser demonstrada como: 
From: alice@crepes.fr 
To: bob@hamburger.edu 
Subject: Procurando o sentido da vida. 
 
Depois do cabeçalho, uma linha em branco é inserida, então segue o corpo da 
mensagem (em ASCII). Você deve usar Telnet para enviar uma mensagem para um 
servidor de correio que contém algumas linhas de cabeçalho, incluindo Subject: e To:, 
e usar telnet serverName 25, como discutido anteriormente. 
Protocolos de acesso ao correio 
Uma vez que o SMTP entrega a mensagem do servidor de Alice para o servidor 
de Bob, a mensagem é colocada na caixa postal de Bob. Como dito anteriormente 
para que Bob possa ler sua mensagem ele deve fazer o login em seu servidor 
hospedeiro para então executar um leitor de e-mail que roda em seu hospedeiro. No 
início dos anos 90 esse era o modo padrão para fazer as coisas. Hoje, porém, o aceso 
ao correio usa uma arquitetura de servidor cliente, um usuário lê seus e-mails com um 
programa de usuário no seu sistema, por exemplo, em um PC, um laptop ou um 
12 
 
smartphone. Executando um leitor de correio no seu PC, os usuários usufruem de 
algumas vantagens, como a capacidade de ver arquivos multimidia e anexo. 
Dado que Bob (destinatário) executa sua agenda no seu PC, seria natural 
esperar que seu servidor de correio esteja também em seu PC. Sendo assim o 
servidor de Alice se comunicaria diretamente com o PC de Bob. Entretanto há um 
problema com essa abordagem. Relembrando que o servidor de correio controla as 
caixas de entrada rodando tanto no lado cliente como no lado servidor do SMTP. Caso 
o servidor de Bob esteja em seu PC, ele deveria ficar o tempo todo ligado e conectado 
a internet para que possa receber uma nova mensagem, que pode chegar a qualquer 
momento. Isto é impraticável para muitos usuários da Internet. E devido a isso um 
usuário roda sua agenda de correio em seu PC que por sua vez acessa sua caixa 
postal que fica armazenada em um servidor que está sempre ligado. Este servidor de 
correio é compartilhado com outros usuários e é mantido por seu fornecedor de 
acesso à internet (em inglês Internet Service Provider, ISP). 
Agora vamos considerar o caminho que uma mensagem de e-mail percorre 
quando enviado de Alice para Bob. Acabamos de aprender que em algum momento 
a mensagem deve ficar depositada no servidor de correio de Bob. Isso pode ser feito 
simplesmente com agenda de usuário de Alice enviando a mensagem diretamente 
para o servidor de Bob. É verdade que isto pode ser feito pelo SMTP, o SMTP fica 
encarregado de enviar um e-mail de hospedeiro para outro. Entretanto a agenda de 
usuário não se comunica diretamente com o servidor de correio. Ao invés, como 
mostrado na Figura 4, a agenda de usuário de Alice usa o SMTP para enviar a 
mensagem para seu servidor de correio, e então O servidor de Alice usa SMTP (como 
um SMTP cliente) para enviar a mensagem para o servidor de correio de Bob. E 
porque proceder em duas etapas? Primeiramente porque sem o servidor de correio 
de Alice sua agenda não tem recursos para se comunicar com o servidor de destino. 
Colocando primeiramente o e-mail no servidor de Alice, ele pode repetidamente tentar 
entregar a mensagem ao servidor de Bob, digamos a cada 30 min, até que o servidor 
de Bob possa receber a mensagem. (E se o servidor de Alice estiver offline, então ela 
terá que reclamar com seu administrador de e-mail!) O SMTP RFC define como os 
comandos SMTP podem ser usados para transportar a mensagem entra múltiplos 
servidores SMTP. 
13 
 
Mas ainda está faltando uma peça nesse quebra cabeça! Como um destinatário 
como Bob, usando uma agenda de usuário em seu PC obtém sua mensagem, que 
está em seu servidor de correio sobre os cuidados de seu ISP? Note que a agenda 
de usuário de Bob não pode usar SMTP par obter a mensagem em uma operação de 
envio, sendo que o SMTP é um protocolo de envio. Esse quebra cabeça é solucionado 
introduzindo um protocolo de correio especial para transferir a mensagem do servidor 
de Bob para seu PC. Atualmente existem inúmeros protocolos de acesso de correio, 
incluindo Post Office Protocol – Version 3 (POP3), Internet Mail Access Protocol 
(IMAP), a HTTP. 
 
Figura 4: Protocolos de e-mail e suas entidades de comunicaçãoA Figura 4 apresenta um sumário dos protocolos que são usados para um 
correio de Internet: o SMTP é usado para transferir o correio do servidor do emissário 
pra o servidor do destinatário, ele também é utilizado pra transferir o correio da agenda 
de usuário do emissário para seu o servidor. E um Protocolo de Acesso ao Correio, 
como o POP3, é usado para transferir a mensagem do servidor do destinatário para 
sua agenda de usuário. 
POP3 
O POP3 é um protocolo de acesso ao correio extremamente simples. Foi 
definido no [RFC 1939], sendo pequeno e legível. Por ser um protocolo simples suas 
funcionalidades são bem limitadas. O POP3 inicia quando a agenda de usuário (o 
cliente) abre a conexão TCP com o servidor de correio (o servidor) na porta 110. Com 
a conexão TCP estabelecida, o POP3 progride por três fases: autorização, transição 
e update. Durante a primeira fase, autorização, a agenda de usuário envia um usuário 
e senha para autenticar o uso. Durante a segunda fase, transição, a agenda de usuário 
recupera as mensagens, e também durante essa fase, a agenda de usuário pode 
marcar mensagem para serem deletadas, desmarcar mensagem para serem 
14 
 
deletadas, e obter estatísticas de correio. A terceira fase, update, ocorre antes o 
cliente sair da sua conta, terminado a sessão POP3, nesse momento, o servidor de 
correio deleta as mensagens que foram marcadas para serem deletadas. 
Na transação POP3, a agenda de usuário usa comando, e o servidor responde 
cada comando. Existe duas possibilidades de resposta: +OK (algumas vezes seguido 
por server-to-client data); usado pelo servidor para indicar que o comando anterior foi 
aceito, and -ERR, é usado pelo servidor para indicar que alguma coisa deu errado 
com o comando anterior. 
A fase de autorização tem dois comandos principais: user e pass. Para ilustrar 
esses dois comandos, sugerimos que você faça um Telnet diretamente com o servidor 
POP3, usando a porta 110, usando esses comandos. Suponha que mailServer é o 
nome do seu servidor de correio. Você verá algo como: 
telnet mailServer 110 
+OK POP3 server ready 
user bob 
+OK 
pass hungry 
+OK user successfully logged on 
 
Caso você perca algum comando, o servidor POP3 responderá com uma 
mensagem -ERR. 
Agora vamos dar uma olhada na fase de transação. Um usuário usando POP3 
pode frequentemente configurar (pelo usuário) para “download e delete” (“baixar” e 
“deletar”) ou download e keep” (“baixar” e “manter”). A sequência de comandos 
usados pelo POP3 na agenda de usuário depende do modo como essas duas 
operações estão configuradas na agenda de usuário. No modo download-and-delete, 
a agenda de usuário usará list, retr, e dele commands. Como um exemplo, suponha 
que o usuário tem duas mensagens na sua caixa postal. No diálogo abaixo, C 
(representando o cliente) é a agenda de usuário e S (representando o servidor) é o 
servidor de correio. A transição parecerá como: 
C: list 
S: 1 498 
S: 2 912 
S: . 
C: retr 1 
15 
 
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 
 
A agenda de usuário pergunta ao servidor de correio para listar o tamanho de 
cada uma das mensagens armazenadas. A agenda de usuário recupera e deleta cada 
uma das mensagens do servidor. Note que depois da fase de autorização, a agenda 
de usuário emprega apenas quatro comandos list, retr, dele e quit. A sintaxe para 
esses comandos foi definida no RFC 1939. Antes de proceder com o comando quit, o 
servidor POP3 entra na fase de update e remove as mensagens 1 e 2 da caixa postal. 
Um problema com o modo download-and-delete está no destinatário, Bob, ele 
pode ser nômade e pode querer acessar suas mensagens de diferentes máquinas, 
por exemplo, seu computador pessoal, seu computador de trabalho, e seu laptop. O 
modo download-and-delete espalhas as mensagens de Bob por esses três 
dispositivos, em particular, caso Bob leia essa mensagem primeiramente no seu 
computador pessoal, ele não poderá acessar novamente essa mensagem no seu 
laptop mais tarde em sua casa. No modo download-and-keep, a agenda de usuário 
deixar a mensagem no servidor de correio após fazer o download dela. Neste caso, 
Bob pode acessar sua mensagem em diferentes máquinas. 
Durante a sessão POP3 entre a agenda de usuário e o servidor de correio, o 
servidor POP3 mantém somente informações de status, em particular, ele mantém o 
rastro de uma mensagem foi marcada para ser deletada. Entretanto, o servidor POP3 
não carrega informação durante a sessão POP3. Esta falta da informação da sessão 
simplifica muito a implementação do servidor POP3. 
16 
 
E-mail baseado na web 
A cada dia mais e mais usuários estão enviando e acessando seus e-mails 
através dos navegadores de internet. O Hotmail introduziu o Web-based access 
(Acesso baseado na web) em meados dos anos 90. Atualmente o Web-basead e-mail 
também é provido pela Google, Yahoo!, e muitos outros. Com esse serviço, a agenda 
de usuário passou a ser o próprio navegador de internet, e o usuário consegue de 
comunicar remotamente com sua caixa postal via HTTP. Quando o destinatário, como 
Bob, quer acessar uma mensagem de sua caixa postal, a mensagem de e-mail é 
enviada do servidor de correio de Bob para seu navegador usando o protocolo HTTP 
em vez dos protocolos POP3 ou IMAP. Quando o emissário, tal como Alice, quer 
enviar uma mensagem por e-mail, a mensagem de e-mail é enviada do seu navegador 
para o seu servidor de correio pelo protocolo HTTP em vez SMTP. Porém o servidor 
de Alice ainda envia e recebe suas mensagens para outros servidores usando o 
protocolo SMTP. 
 
17 
 
Referências 
KUROSE, James F.; ROSS, Keith W. Computer Network: A Top-Down Approach. Tradução: 
Redes de Computadores e a Internet. 6. ed. United States of America: Pearson, 2013. 862 p. 
ISBN 978-0-13-285620-1. 
 
MENDES, Douglas Rocha. Rede de Computadores: Teoria e Prática. 2. ed. São Paulo: Novatec, 
2015. 527 p. ISBN 978-85-7522-368-0.

Continue navegando