Baixe o app para aproveitar ainda mais
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.
Compartilhar