Correio Eletrônico
Correio Eletrônico (e-mail) [1]
A aplicação Correio Eletrônico (e-mail) existe desde o início da Internet e é hoje uma das aplicações mais importantes da rede. O e-mail permite uma comunicação assíncrona entre os usuários, na qual as pessoas enviam e recebem mensagens sob demanda.
Componentes da aplicação e-mail:
- Agentes usuário: Permitem que os usuários leiam, respondam, componham e transmitam suas mensagens. Há leitores de email dedicados, como o Mozilla Thunderbird e o Outlook da Microsoft. Entretanto, muitos usuários utilizam interfaces baseadas na Web, ou Web email, como o Gmail da Google, o Windows Live Mail (sucessor do Hotmail) da Microsoft e outros.
- Servidores de email: Formam o núcleo da infraestrutura do email, são responsáveis pelo envio e recepção das mensagens dos usuários.
- Protocolo SMTP (Simple Mail Transfer Protocol) (RFC 5321): É o protocolo utilizado pelo correio eletrônico. O SMTP, como outros protocolos de aplicação, tem dois lados, o lado cliente e o lado servidor. Quem envia a mensagem faz o papel do cliente e quem recebe de servidor, todavia, ambos os lados do SMTP devem ser implementados em cada servidor de email.
- Protocolo de Transporte: O SMTP usa o serviço de transferência de dados confiável do TCP para transferir uma mensagem desde o remetente até a caixa postal do destinatário.
- Porta: O lado servidor do SMTP usa a porta 25 para aguardar solicitações de envio de mensagens de servidores cliente.
Funcionamento do Servidor de Correio Eletrônico
Os servidores de Correio Eletrônico formam o núcleo da infraestrutura do email, são responsáveis pelo envio e recepção das mensagens dos usuários:
- Recepção de mensagens: Cada usuário possui uma caixa postal no seu servidor, na qual ficam armazenadas as mensagens recebidas e prontas para serem lidas e respondidas pelos usuários.
- Envio de mensagens: As mensagens enviadas pelos usuário vão para uma fila de saída e o servidor se encarrega de enviá-las direção ao servidor destino. Caso o servidor destino não esteja acessível no momento, o servidor de email tentará enviá-la mais tarde, persistindo nestas tentativas por alguns dias, quando então remove a mensagem e notifica o usuário que a tinha enviado.
As mensagens trocadas pelo protocolo SMTP são mensagens em caracteres ASCII. Para enviar uma mensagem, o cliente SMTP estabelece uma conexão TCP, na porta 25, com o servidor SMTP. Uma vez estabelecida à conexão TCP, cliente e servidores de email entram em uma fase de apresentação mútua (handshaking), trocando algumas informações (como o endereço de email do emissor e do destinatário), antes de enviarem a mensagem eletrônica em si.
Leitura das mensagens pelos usuários
Para ler uma mensagem em sua caixa postal o destinatário da mensagem deve, a partir de seu agente usuário, acessar seu servidor. Para tal, o servidor de email requisita uma autenticação do usuário, através de uma identificação e uma senha:
- Caso o usuário utilize um leitor de email, as mensagens armazenadas na caixa postal do usuário serão transferidas do servidor para seu computador. Para realizar esta tarefa, o leitor de email normalmente utiliza o protocolo POP3, o qual abre uma conexão TCP na porta 110 do servidor de email.
- Caso o usuário utilize um Web email, o usuário pode manipular suas mensagens diretamente no servidor, utilizando o navegador Web e o protocolo HTTP, sem haver a necessidade de transferência das mesmas para o computador local.
Mensagens SMTP
A seguir é apresentado um exemplo de troca de mensagens SMTP em formato ASCII entre um cliente e um servidor de email.
São exatamente desta forma que as mensagens são enviadas pela conexão TCP entre o cliente e o servidor:
C: MAIL FROM:<Paulo@escola.edu.br> S: 250 OK C: RCPT TO:<Maria@universidade.edu.br> S: 250 OK C: RCPT TO:<Tereza@universidade.edu.br> S: 550 No such user here C: RCPT TO:<Cristina@universidade.edu.br> S: 250 OK C: DATA S: 354 Start mail input; end with <CRLF>.<CRLF> C: Blah blah blah... C: ...etc. etc. etc. C: <CRLF>.<CRLF> S: 250 OK
- As palavras chave MAIL FROM e RCPT TO são usadas para identificar o emissor e receptor das mensagens, respectivamente.
- A palavra chave DATA é usada para identificar o início do texto com a mensagem a ser enviada.
- As respostas do servidor usam códigos para identificar sucesso (250 OK) ou problemas (550 No such user here).
- No exemplo são trocadas mensagens entre Paulo no host escola.edu.br e Maria e Cristina no host universidade.edu.br. O usuário Tereza não tem caixa postal no servidor universidade.edu.br.
- Exercício
- Utilize o telnet na porta 25 de um servidor de email e tente trocar mensagens SMTP. Para isto, digite:
telnet NomeDoServidor 25
Exercícios
- Pesquise sobre as vantagens de utilizar um leitor de email, ao invés de um Web email.
- Faça um teste com o leitor de email Thundersbird, instalando este programa na máquina virtual:
sudo apt-get install thunderbird
Referências
- ↑ KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.
--Evandro.cantu (discussão) 10h35min de 12 de junho de 2014 (BRT)