O comando DATA indica ao servidor SMTP que o cliente terminou de definir o envelope (remetente e destinatários) e está pronto para enviar o conteúdo real da mensagem.
1. O Papel do DATA
Diferente dos comandos anteriores (HELO, MAIL, RCPT), o DATA não possui argumentos na mesma linha.
- Sintaxe: DATA
- Resposta Sucesso: 354 Start mail input; end with <CRLF>.<CRLF>
- O código 3xx indica que o servidor está aguardando a continuação dos dados.
2. Conteúdo da Mensagem (Cabeçalhos e Corpo)
Após o comando DATA, o cliente transmite dois blocos de informação, separados por uma linha em branco:
- Cabeçalhos (RFC 5322): Metadados como
From:,To:,Subject:,Date:.- Atenção: Estes campos são apenas para fins de exibição ao usuário final. O MTA ignora o
To:do cabeçalho e usa apenas oRCPT TOdo envelope para rotear a mensagem.
- Atenção: Estes campos são apenas para fins de exibição ao usuário final. O MTA ignora o
- Corpo (Body): O texto ou dados binários (em codificação Base64/MIME) da mensagem.
3. Encerramento da Transmissão
Como o protocolo SMTP é baseado em texto, o servidor precisa de um sinal para saber quando o e-mail acabou. Esse sinal é uma Sequência de Termino Única:
- Uma linha contendo apenas um caractere de ponto final (.).
- Em termos técnicos: <Carriage Return><Line Feed>.<Carriage Return><Line Feed> ou \r\n.\r\n.
Exemplo de Encerramento:
C: Subject: Olá Mundo
C:
C: Esta é uma mensagem de teste.
C: .
S: 250 OK: queued as 12345
4. Segurança e Filtros Contéudo
O momento em que o cliente envia o ponto final (.) é quando o servidor:
- Faz a verificação Antivírus e Anti-SPAM (analisando o corpo do e-mail).
- Aplica assinaturas DKIM.
- Coloca a mensagem definitiva na Fila de Mensagens (Queue).