1 / 20

SMTP Simple Mail Transfer Protocol

SMTP Simple Mail Transfer Protocol. Aluno: Vinicius Fernandes de Oliveira vinicius@vinicius.eti.br Maio de 2003. LECA-DCA / PPgEE - Disciplina: Arquitetura de Redes eProtocolos de Alto Nível. SMTP - Agenda. Introdução Considerações gerais Formato das mensagens

denim
Download Presentation

SMTP Simple Mail Transfer Protocol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMTPSimple Mail Transfer Protocol Aluno: Vinicius Fernandes de Oliveira vinicius@vinicius.eti.br Maio de 2003 LECA-DCA / PPgEE - Disciplina: Arquitetura de Redes eProtocolos de Alto Nível

  2. SMTP - Agenda • Introdução • Considerações gerais • Formato das mensagens • Endereços de correio eletrônico • Modelo para a utilização do SMTP • Procedimentos do SMTP • Comandos do SMTP • Códigos de retorno do SMTP • Extensões do SMTP ( ESMTP ) • Conclusão

  3. Introdução SMTP Considerações gerais • RFC 2821 (ex-821) é a recomendação mais atual • Correio eletrônico é o serviço mais utilizado na web • O protocolo SMTP é o mais utilizado nesse serviço • O protocolo SMTP é composto apenas de pares <comando> <|valor|> terminado com <CR LF> • O protocolo SMTP não deve ser confundido com o serviço de correio eletrônico • ele faz uma simples transferência de correspondência • Foi concebido para transferir apenas texto ASCII • existem muitas extensões para transpor essa limitação

  4. Introdução SMTP Considerações gerais • Pode ser utilizado em diferentes ambientes de correio eletrônico • utiliza-se de um gateway SMTP • SMTP faz uso intenso do DNS • O SMTP é independente do nível de transporte • TCP - o único tratado na atual recomendação. • NCP - Network Control Program ( ARPANET ) • NITS - Network Independent Transport Service • X.25 - Utilizado em rede pública de dados ( CCITT )

  5. Introdução SMTPFormato das mensagens • Importância do formato das mensagens para o SMTP: • As interfaces de usuário costumam montar os comandos SMTP a partir das informações existentes na mensagem. • A maior parte das funcionalidades do correio eletrônico (anexação de imagens, sons, páginas html, etc. ) são implementadas nas próprias mensagens. • Muitos aplicativos utilizam-se de campos especiais contidos na mensagem para as mais diversas finalidades: • relatórios de ocorrências na transmissão / recepção • identificação de produtos ( softwares ) • passar "comandos" entre diferentes ambientes (gateway SMTP) • Obter informações do mail exchanger • etc.

  6. Content-Type :<tipo/subtipo> boundary=<seqüência de caracteres> ( RFCs MIME ) • • • • • • Parte 1 <seqüência de caracteres do boundary> Content-Type:<tipo/subtipo><outros parâmetros/valor> <campo>:<valores, parâmetros,etc.><cr lf> • • • • • • RFCs MIME ( 37 ) Principais: 3030 2231 2077 Multipurpose Internet Mail Extensions <linha em branco> Mensagem <linha em branco> Parte 2 Parte 3 • • • • • • Introdução SMTPFormato das mensagens HEADER FIELDS RFC 2822 (ex-822) From :<nome> endereço To :<nome> endereço Cc :<nome> endereço Subject :<texto> <campo> : <valores, parâmetros, etc.> <cr lf> • • • • • • <linha em branco> BODY RFC 2822

  7. Introdução SMTPEndereços de correio eletrônico • marketing@empresa.com.br conceitualmente é • <endereço da caixa postal>@<nome do mail exchanger> • <endereço da caixa postal> • o nome não precisa ser igual ao do “login” • pode ser “virtual” ( haverá mapeamento entre virtual => real ) • <mail exchanger> • Normalmente é igual ao nome do domínio • O DNS ( registros MX ) é que possui a lista com os nomes dos servidores de correio • O solicitante dessa informação é que decidirá qual usar

  8. Introdução SMTPEndereços de correio eletrônico • <endereço da caixa postal + domínio>@ <nome do pseudodomínio> • <nome do pseudodomínio> é um gateway SMTP • <endereço da caixa postal + domínio> é o formato do endereço no outro ambiente de rede • Os gateways decodificam essa informação através de um conjunto de regras ou mapeamentos • marketing-uucp.vendas@empresa.com.br é um exemplo de nome por formação de regras: • marketing é a caixa postal • uucp é um servidor unix • vendas é o hostname • pseudodomínios só oferecem serviço de correio eletrônico

  9. Comandos e respostas SMTP + mensagem Nomes alternativos Nomes alternativos Cliente Servidor Mensagem Mensagem Servidor Cliente POP ou IMAP Comandos e respostas SMTP + mensagem Comandos e respostas SMTP + mensagem MUA MTA Mensagem Modelo para utilização do SMTP Sistema de arquivos Sistema de arquivos MTA MTA MUA ( tudo acontece em background ) • Elementos básicos: remetente e destinatário • MUA - Mail Users Agent ( Cliente SMTP, remetente ) • MTA - Mail Transfer Agent ( Cliente e/ou Servidor SMTP, remetente e/ou destinatário )

  10. Modelo para utilização do SMTP • Responsabilidades do MUA (Mail User Agent) • Disponibilizar uma interface de correio para o usuário • Guardar os e-mails até conectar-se a um MTA • Gerar comandos SMTP a partir do cabeçalho da mensagem no formato RFC 2822 fazendo consistências • Garantir transparência de dados • <CR LF>.<CR LF> na mensagem vira <CR LF>. .<CR LF>

  11. Modelo para utilização do SMTP • Responsabilidades do MTA (Mail Transfer Agent) • Ser responsável pela caixa postal do seus usuários • Receber e armazenar em filas as mensagens que serão encaminhadas • Fazer consultas ao DNS e escolher um nome • Adotar estratégias para envio e recepção • Não conseguindo conectar-se ao MTA destino, tentar novamente após um tempo ou desistir • Manter informações de servidores que não respondem • Na conexão com um MTA destino, negociar de uma vez a maior quantidade possível de endereços "com cópias para” • Recebendo uma mensagem de um host e havendo mensagens para esse host na sua fila, encaminhá-las aproveitando a conexão

  12. Modelo para utilização do SMTP • Responsabilidades do MTA (Mail Transfer Agent) • Registrar sua identificação ( host + domínio) data, hora e outras informações na mensagem recebida • Notificar ao emitente da mensagem falhas na recepção ou no seu encaminhamento • Identificar a existência de loops no encaminhamento • Completar ou corrigir mensagens com falhas ou erros para clientes conhecidos

  13. Procedimentos do SMTP Comando: <comando><sp><|valor|><CR LF> Resposta: <número><sp><mensagem> • Início a sessão: abre conexão na porta 25 • Iniciando o cliente: identificação do host • Atendimento às transações: “De”, “Para”, “Dados” • Resolução de nomes e correção de erros • Transmissão para a rota especificada • Gateways • Encerramento da sessão e da conexão • Lista de correio e aliases

  14. Comandos SMTP • Implementação mínima • EHLO • HELP • MAIL • RCPT • DATA • RSET • NOOP • QUIT • VRFY

  15. Códigos de retorno SMTP • 3 dígitos para os códigos de retorno: • 1º dígito: • 1yz Resposta positiva preliminar • 2yz Resposta positiva completada • 3yz Resposta positiva intermediária • 4yz Resposta negativa temporária • 5yz Resposta negativa definitiva • 2º dígito: • x0z Sintaxe: erro, não funcional, não implementado. • x1z Informação: respostas para requisição de informações • x2z Conexões: respostas referentes ao canal de transmissão. • x3z e x4z não especificado. • x5z Sistema de correio:status do receptor X requisições do transmissor. • 3º dígito: • diferenciações refinadas do segundo dígito.

  16. Extensões SMTP (ESMTP) Baseado na RFC 3300 - Internet Official Protocol Standards • Tamanho da mensagem • (EHLO) 250 SIZE 1000000 • MAIL FROM:<ned@thor.inn.com> SIZE=500000 • Otimização do uso do link • (EHLO) 250 PIPELINING • DSN - Delivery Status Notification • (EHLO) 250-DSN • MAIL FROM:<Alice@Heart.ORG> RET=HDRS ENVID=QQ314159 • MAIL FROM:<Alice@Heart.ORG> RET=FULL ENVID=QQ314159 • RCPT TO:<d@ary.ed> NOTIFY=SUCCESS,FAILURE ORCPT=rfc822;d@ary.ed • RCPT TO:<Fred@Bombs.AF.MIL> NOTIFY=NEVER

  17. Extensões SMTP (ESMTP) • Novo conjunto de códigos de retorno • (EHLO)250 ENHANCEDSTATUSCODES • xxx n.nnn.nnn • 250 2.1.0 vinicius@ppgee....Sender OK • 500 5.3.3 Unrecognized command • Inversão "cliente - servidor” • (EHLO) 250 ETRN • ETRN sigurd.innosoft.com • ETRN @innosoft.com • ETRN #innosoft.com

  18. Extensões SMTP (ESMTP) • Autenticação SASL ( Simple Authentication and Security Layer) • (EHLO) 250 AUTH <mecanismos de autenticação> • (EHLO) 250 AUTH CRAM-MD5 DIGEST-MD5 • C: AUTH CRAM-MD5 • S: 334 PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4= • C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ== • S: 235 Authentication successful. • Negociação de tempo para DSN • (EHLO) 250 DELIVERBY • (EHLO) 250 DELIVERBY <tempo> • MAIL FROM:<eljefe@bigbiz.com> BY=<tempo> • MAIL FROM:<eljefe@bigbiz.com> BY=<tempo>;R | N

  19. Extensões SMTP (ESMTP) • Utilização do TLS ( Transport Layer Security ) • (EHLO) 250 STARTTLS • STARTTLS • Utilizando 8 bits ASCII • (EHLO) 250 8BITMIME • MAIL FROM:<ned@ymir.mont.edu> BODY=8BITMIME • MAIL FROM:<ned@ymir.mont.edu> BODY=7BIT • Transmissão de arquivos binários • (EHLO) 250 CHUNKING 250 BINARYMIME • BDAT <tamanho> ( substitui o comando DATA ) • BDAT <tamanho> LAST • MAIL FROM:<ned@ymir.mont.edu> BODY=BINARYMIME

  20. Conclusão • Correio eletrônico é um campo vasto e com muitas possibilidades • A separação entre o protocolo de troca de mensagens ( SMTP ) e a formatação das mensagens ( RFC 2822 ) trouxe flexibilidade e facilidade de implementações, apesar de algumas redundâncias • A pouca segurança inerente ao SMTP talvez seja uma das causas do seu sucesso ( apesar dos inconvenientes SPAMs ) www.vinicius.eti.br ==> Trabalhos UFRN

More Related