Baixe o app para aproveitar ainda mais
Prévia do material em texto
Servidor de E-mails e Protocolo SMTP Prof. MSc. Alaor José da Silva Junior Definições Servidor de Mensagens • Um servidor de mensagens é responsável pela recepção e envio de mensagens. Dentro deste processo há vários mecanismos utilizados pelo servidor antes da mensagem chegar até o remetente. • Um servidor de mensagens oferece outros serviços além de transporte, este deve prover serviços como fornecer apelidos para usuários e fazer roteamento de mensagens. • Atualmente na Internet um dos grandes responsáveis por seu imenso tráfego, sem dúvida, é o e-mail. • Tal como o correio normal, o e-mail é um meio de comunicação assíncrono, as pessoas enviam e recebem mensagens quando for conveniente para elas. • O Simple Mail Transfer Protocol (SMTP) é o protocolo de transporte de mensagens utilizado em redes TCP/IP. Correio Eletrônico Componentes: • MUA - Mail User Agent: • o programa que o usuário acessa para compor seu e-mail. Exemplo: Outlook, Netscape, Eudora, Pine, Kmail, etc. • MTA - Mail Transport Agent: • recebe o e-mail do MUA e o envia a outros MTA, para que seja entregue ao destinatário. O principal MTA em UNIX é o SendMail, mas existem também o QMail , Postfix, Exim e outros. • MDA - Mail Delivery Agent: • recebe o e-mail do MTA e o deposita na caixa de correio do usuário. O MDA default do Linux é o procmail, mas existem diversos outros. • MAA - Mail Access Agent: • permite ao MUA o acesso aos e-mails que estão na caixa de correio do usuário. Na prática, esta função é exercida pelos servidores POP3 e/ou IMAP. Protocolos • O serviço de e-mail usa vários protocolos para o transporte das mensagens entre remetentes e destinatários. O protocolo SMTP - Simple Mail Transfer Protocol é o protocolo responsável pelo envio do e-mail do cliente (MUA) ao servidor (MTA) e deste para outros servidores, até chegar ao servidor de destino. • Para consultar os e-mails armazenados no servidor, o cliente (MUA) utiliza os protocolos POP3 (Post-Office Protocol v3) e IMAP (Internet Message Access Protocol), cujas principais características são: • POP3: • Usa a porta 110/TCP ou 995/TCP (versão segura POP3S). • Considera apenas uma pasta no servidor (a pasta INBOX). • Por default descarrega as mensagens do servidor no cliente. • não permite carregar mensagens de volta no servidor (upload). • IMAP: • Usa a porta 143/TCP ou 993/TCP (versão segura IMAPS) • Pode manter diversas pastas no servidor, além da INBOX. • Por default mantém as mensagens no servidor. • Pode movimentar mensagens em ambas as direções (entre pastas no cliente e no servidor). Protocolos • Normalmente o uso de POP3 é mais indicado quando os usuários são estáticos, ou seja, cada um possui seu computador e só acessa seu e-mail a partir dele. POP3 é um protocolo leve e que não mantém conexão constante com o servidor. • O uso de IMAP é indicado quando os usuários são “nômades”, usando vários computadores diferentes. Todavia, este protocolo exige mais recursos de CPU, disco e memória do servidor. A conexão IMAP normalmente é mantida enquanto durar a sessão de trabalho do usuário. Este protocolo é muito usado em ambientes de WebMail, para os acessos do servidor Web ao servidor de e-mail. Correio Eletrônico: SMTP [RFC 2821] • usa TCP para a transferência confiável de mensagens do aplicativo de correio do cliente ao servidor, porta 25 • transferência direta: servidor remetente ao servidor receptor • três fases da transferência – handshaking (cumprimento) – transferência das mensagens – encerramento • interação comando/resposta – comandos: texto ASCII – resposta: código e frase de status Cenário: Alice envia uma msg para Bob 1) Alice usa o MUA para compor uma mensagem “para” bob@someschool.edu 2) O MUA de Alice envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens 3) O lado cliente do SMTP abre uma conexão TCP com o servidor de correio de Bob 4) O cliente SMTP envia a mensagem de Alice através da conexão TCP 5) O servidor de correio de Bob coloca a mensagem na caixa de entrada de Bob 6) Bob chama o seu MUA para ler a mensagem user agent mail server mail server user agent 1 2 3 4 5 6 Fluxo de uma mensage Fluxo de uma mensagem 1. O cliente de e-mail do usuário (MUA) envia a mensagem para o MTA configurado, normalmente o servidor de correio eletrônico da empresa, usando o protocolo SMTP. 2. O MTA, tendo aceito a responsabilidade de entregar a mensagem para seu destinatário, começa a tarefa de descobrir para onde a mensagem deve ser enviada. O servidor vai então consultar o servidor DNS pedindo o registro MX do domínio do e-mail do destinatário. A resposta é um endereço IP, que é para quem o MTA vai entregar a mensagem. Fluxo de uma mensagem 3. Tendo descoberto o endereço IP do MTA responsável pelo domínio do e-mail, o servidor de e-mail vai estabelecer uma conexão com este servidor e usar novamente o protocolo SMTP para tentar entregar a mensagem. Ela sendo aceita no destino, termina a tarefa de nosso servidor: a mensagem está entregue. 4. O usuário ao chegar na sua máquina, inicia seu programa de correio eletrônico (MUA) e consulta sua caixa postal no servidor usando o protocolo POP3 ou IMAP. Ele será avisado de que há uma mensagem nova e ela será baixada para sua máquina, onde será lida. • Com isso, a comunicação é concluída. Formato de uma mensagem RFC 822: padrão para formato de mensagem de texto: • linhas de cabeçalho, p.ex., – To: – From: – Subject: diferentes dos comandos de smtp! • corpo – a “mensagem”, somente de caracteres ASCII cabeçalho corpo linha em branco O protocolo SMTP • Os passos na comunicação usando o protocolo SMTP são os seguintes: • Envio do banner do servidor • Saudação do cliente • Identificação do remetente • Identificação dos destinatários da mensagem • Envio da mensagem propriamente dita. Exemplo de Comunicação com servidor SMTP telnet localhost 25 HELO nome_maquina MAIL From: aluno@localhost RCPT to: root@localhost DATA Mensagem QUIT Interação SMTP típica S: 220 doces.br C: HELO consumidor.br S: 250 Hello consumidor.br, pleased to meet you C: MAIL FROM: <ana@consumidor.br> S: 250 ana@consumidor.br... Sender ok C: RCPT TO: <bernardo@doces.br> S: 250 bernardo@doces.br ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Voce gosta de chocolate? C: Que tal sorvete? C: . S: 250 Message accepted for delivery C: QUIT S: 221 doces.br closing connection Envelope da Mensagem • Para o servidor de e-mails, o conteúdo da mensagem não é importante. É só um pacote de dados. • O que importa é o envelope da mensagem, da mesma forma que, no serviço de correio convencional, o carteiro não se importa com o que tem dentro do envelope. • Ele apenas precisa saber o destinatário e, caso ocorra algum problema na entrega, e do endereço do remetente, para saber a quem a mensagem deve ser entregue. Envelope da Mensagem • O envelope da mensagem é geralmente composto de duas partes: • RCPT to: - e-mail do destinatário da mensagem • MAIL from: - e-mail do remetente da mensagem Relay de Mensagens • Quando um usuário utiliza o servidor SMTP da sua empresa para enviar uma mensagem para fora (isto é, o usuário não está localizado na mesma rede), o servidor irá fazer o relay desta mensagem para o destino. • Este é um uso bastante comum para o servidor, e é equivalente a se ligar para a telefonista na recepção e pedir para que ela faça uma ligação externa. Relay deMensagens Protocolos de acesso ao correio • SMTP: entrega/armazenamento no servidor do receptor • protocolo de acesso ao correio: recupera do servidor – POP: Post Office Protocol [RFC 1939] • autorização (agente <-->servidor) e transferência – IMAP: Internet Mail Access Protocol [RFC 1730] • mais comandos (mais complexo) • manuseio de msgs armazenadas no servidor – “HTTP: Hotmail , Yahoo! Mail, Webmail, etc.” servidor de correio do remetente SMTP SMTP POP3 ou IMAP servidor de correio do receptor agente de usuário agente de usuário POP3 e IMAP Mais sobre o POP3 • O exemplo anterior usa o modo “download e delete”. • Bob não pode reler as mensagens se mudar de cliente • “Download-e-mantenha”: copia as mensagens em clientes diferentes • POP3 não mantém estado entre conexões Mais sobre o IMAP • Mantém todas as mensagens num único lugar: o servidor • Permite ao usuário organizar as mensagens em pastas • O IMAP mantém o estado do usuário entre sessões: – nomes das pastas e mapeamentos entre as IDs das mensagens e o nome da pasta Protocolo POP3 • O Post Office Protocol versão 3, ou POP3, pode ser usado pelos usuários remotos para realizar a transferência de suas correspondências eletrônicas do sistema sem abrir uma sessão telnet, por exemplo. • Então, o protocolo POP é utilizado quando se deseja buscar uma mensagem que está no servidor. A priori, qualquer um pode mandar e- mail para qualquer um, no caso da recepção de e- mail é diferente. • Quando o usuário acessa o servidor POP que utiliza geralmente da porta 110, o mesmo deve fornecer seu login e sua senha. Protocolo POP3 Protocolo POP3 • O protocolo POP3 também usa o protocolo da camada de transporte TCP e seu funcionamento passa por três fases básicas: • Autorização – o agente de usuário envia um nome de usuário e uma senha(às claras) para autenticar o usuário. • Transação - o servidor recupera as mensagens do usuário autenticado, e é também nesta fase que o agente de usuário pode marcar mensagens que devem ser apagadas, remover estas marcas e obter estatísticas de correio. • Atualização – A terceira fase, de atualização, ocorre após o cliente ter dado o comando quit, que encerra a sessão POP3. Neste momento, o servidor apaga as mensagens que foram marcadas. Protocolo POP3 • A fase de autorização tem dois comandos principais. User <user name> e pass <password>. • Para ilustrar estes dois comandos, é possível se logar em um servidor POP usando a porta 110 e emitir os dois comandos de um usuário válido do sistema. • Para listar as mensagens disponíveis em sua caixa de entrada, deve-se usar o comando list e para visualizar cada uma das mensagens deve-se usar o comando retr <numero_mensagem>. Protocolo POP3 fase de autorização • comandos do cliente: – user: declara nome – pass: senha • servidor responde – +OK – -ERR fase de transação, cliente: • list: lista números das msgs • retr: recupera msg por número • dele: apaga msg • quit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> S: . C: dele 1 C: retr 2 S: <message 1 contents> S: . C: dele 2 C: quit S: +OK POP3 server signing off S: +OK POP3 server ready C: user ana S: +OK C: pass teste S: +OK user successfully logged on Protocolo IMAP • O IMAP é similar ao POP no sentido de que ambos os protocolos permitem que usuários remotos acessem seus correios eletrônicos. Ele escuta na porta TCP 143. • A diferença é que o IMAP permite que os usuários mantenham pastas de correio no seu sistema, em vez de fazer a transferência de todas as suas mensagens para suas próprias máquinas. • A diferença do IMAP em relação ao POP é a possibilidade de manipulação das mensagens no próprio servidor. Você pode criar pastas e organizar suas mensagens nelas, fazer buscas nas mensagens, ver somente os cabeçalhos, etc. • O IMAP possui muito mais recursos que o POP3 mas é consequentemente muito mais complexo. Protocolo IMAP Exemplo de Servidores de Email (SMTP) • Sendmail • Qmail • Postfix • Exim • MS Exchange • Lotus Notes
Compartilhar