04 - Definição
video: https://youtu.be/... no frontmatter da nota.O Simple Mail Transfer Protocol (SMTP) é o protocolo fundamento de envio de correio eletrônico na Internet.
1. O que é o SMTP?
O SMTP define como mensagens de correio são transmitidas de um servidor para outro através de uma rede IP (Internet Protocol). Foi desenhado para ser um protocolo simples e robusto:
- Baseado em Texto: Os comandos e respostas são transmitidos em modo texto (ASCII).
- Orientado à Conexão: Utiliza o TCP para garantir que a mensagem chegue íntegra ao destino.
- Protocolo Push: O remetente "empurra" a mensagem para o destinatário.
2. Portas de Serviço
A escolha da porta SMTP depende da função executada:
- Porta 25 (Standard): Usada quase exclusivamente para a transferência entre servidores (Relay). Muitos ISPs bloqueiam esta porta para clientes residenciais para evitar SPAM.
- Porta 587 (Submission): Porta recomendada para que os clientes (MUAs) enviem mensagens para o seu servidor de saída. Geralmente exige autenticação e criptografia (TLS).
- Porta 465 (SMTPS): Originalmente para SMTP sobre SSL, agora obsoleta mas ainda muito comum em configurações legadas.
3. RFC de Referência
A especificação atual do SMTP é a RFC 5321, que consolidou e atualizou versões anteriores (como a RFC 821 e 2821). Ela define o modelo de transporte e a troca de comandos entre o cliente SMTP e o servidor SMTP.
4. Histórico de Evolução
O SMTP é um dos protocolos mais antigos da Internet ainda em uso ativo. Sua trajetória reflete a maturação da própria rede:
| Ano | RFC | Marco Histórico |
|---|---|---|
| 1981 | RFC 788 | Primeira especificação do SMTP, baseada no MTP (Mail Transfer Protocol) |
| 1982 | RFC 821 | Versão clássica que popularizou o SMTP junto com o RFC 822 (formato da mensagem) |
| 1995 | RFC 1869 | Introdução do ESMTP (Extended SMTP) com o comando EHLO |
| 2001 | RFC 2821 | Primeira grande revisão, consolidando práticas modernas |
| 2008 | RFC 5321 | Versão atual em vigor, alinhada com a RFC 5322 (formato de mensagem) |
Antes do SMTP, a ARPANET usava métodos informais de transmissão de e-mail, como o FTP para "colar" arquivos em caixas postais remotas. O SMTP unificou essa operação sob um protocolo dedicado, simplificando a interoperabilidade entre sistemas heterogêneos.
5. Papel no Ecossistema de E-mail
Para entender o SMTP, é preciso situá-lo no fluxo completo do correio eletrônico, composto por três agentes principais:
- MUA (Mail User Agent): O programa que o usuário utiliza para redigir e ler e-mails (Outlook, Thunderbird, Gmail web). O MUA não fala SMTP diretamente com o servidor de destino, apenas com o MSA do provedor.
- MSA (Mail Submission Agent): Servidor intermediário que recebe mensagens dos MUAs na porta 587, aplica políticas de spam/vírus e repassa para o MTA.
- MTA (Mail Transfer Agent): O "correio" da Internet. Recebe mensagens e roteia-as para outros MTAs até alcançar o MDA do domínio de destino. Postfix, Sendmail e Exim são MTAs clássicos.
- MDA (Mail Delivery Agent): Responsável por depositar a mensagem na caixa postal final do usuário (ex: Dovecot, Procmail).
Fluxo Completo de uma Mensagem
[MUA Remetente] --SMTP/587--> [MSA] --SMTP/25--> [MTA Origem]
--SMTP/25--> [MTA Destino] --> [MDA Destino] --> [Caixa Postal]
<--IMAP/POP3-- [MUA Destinatário]
O SMTP só aparece nos trechos de envio (MUA→MSA, MSA→MTA, MTA→MTA). A leitura é feita por POP3 ou IMAP, protocolos complementares.
6. SMTP x POP3 x IMAP
Embora todos operem o correio eletrônico, cada protocolo tem uma função específica:
| Protocolo | Direção | Portas | Função |
|---|---|---|---|
| SMTP | Push (empurrar) | 25, 587, 465 | Enviar e relay de mensagens |
| POP3 | Pull (puxar) | 110, 995 | Baixar mensagens do servidor |
| IMAP | Pull (puxar) | 143, 993 | Sincronizar mensagens com servidor |
A confusão comum entre iniciantes é achar que SMTP "lê" e-mail — na verdade, ele apenas transporta mensagens de saída. Quem lê é o cliente MUA, usando POP3 ou IMAP.
7. Modelo Cliente-Servidor
O SMTP opera em um modelo estritamente cliente-servidor, mas os papéis mudam conforme o contexto:
- Quando o MUA envia e-mail, o MUA é cliente SMTP e o MSA é servidor.
- Quando o MTA de origem fala com o MTA de destino, o MTA origem vira cliente SMTP e o MTA destino vira servidor.
A mesma máquina pode ser cliente e servidor SMTP em momentos diferentes. Isso torna o SMTP um protocolo peer-to-peer no nível de MTA, ainda que cada transação individual seja cliente-servidor.
8. Limitações do SMTP Original
O SMTP de 1982 (RFC 821) tinha limitações significativas que foram corrigidas ao longo das décadas:
- Sem autenticação: Qualquer cliente podia enviar e-mail para qualquer servidor, o que posteriormente facilitou o spam massivo.
- Sem criptografia: Tudo trafegava em texto puro, incluindo senhas e conteúdo.
- ASCII de 7 bits apenas: Não suportava acentos, caracteres Unicode ou anexos binários.
- Sem confirmação de entrega: O remetente não tinha garantia real de que a mensagem foi lida.
Essas limitações foram sanadas por extensões ESMTP (RFC 1869), MIME (RFC 2045), STARTTLS (RFC 3207) e SMTP AUTH (RFC 4954).
9. Resumo Técnico
| Atributo | Valor |
|---|---|
| Nome completo | Simple Mail Transfer Protocol |
| RFC atual | RFC 5321 (2008) |
| Camada OSI | Aplicação (7) |
| Transporte | TCP |
| Portas principais | 25 (relay), 587 (submission), 465 (SMTPS legado) |
| Tipo de protocolo | Push, orientado a conexão, baseado em texto |
| Extensão moderna | ESMTP (Extended SMTP) |
| Codificação original | ASCII 7-bit (estendida via MIME para 8-bit/binary) |
| Protocolos complementares | POP3 (RFC 1939), IMAP4 (RFC 3501) |
10. Conclusão
O SMTP é o pilar do envio de e-mail na Internet há mais de quatro décadas. Sua longevidade se deve à simplicidade do modelo: um protocolo textual, baseado em TCP, com comandos legíveis por humanos. Apesar das limitações originais, as extensões ESMTP, MIME, STARTTLS e AUTH tornaram-no robusto o suficiente para suportar bilhões de mensagens diárias. Compreender SMTP é o primeiro passo para dominar a engenharia de correio eletrônico moderna.