Correio Eletrônico

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar

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. Por exemplo, tente acessar o servidor abaixo e trocar mensagens SMTP:
telnet smtp.das.ufsc.br 25

Exercícios

  1. Analise o cabeçalho de um email que você recebeu e analise cada uma das linhas.
  2. Pesquise sobre as vantagens de utilizar um leitor de email, ao invés de um Web email.
  3. Faça um teste com o leitor de email Thundersbird, instalando este programa na máquina virtual:
sudo apt-get install thunderbird

Referências

  1. 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)