O que é o Protocolo de Transferência de Correio Simples (SMTP)?

O Protocolo de Transferência de Correio Simples (SMTP) é um padrão de rede para enviar e-mails.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Explicar como funciona o Protocolo de Transferência de Correio Simples (SMTP)
  • Entender os comandos, servidores e envelopes do SMTP
  • Definir o SMTP Estendido (ESMTP)

Copiar o link do artigo

O que é o Protocolo de Transferência de Correio Simples (SMTP)?

O Protocolo de Transferência de Correio Simples (SMTP) é um padrão técnico para transmitir correio eletrônico (e-mail) por uma rede. Assim como outros protocolos de rede, o SMTP permite que computadores e servidores troquem dados independentemente do hardware ou software usado. Assim como o uso de uma forma padronizada de endereçamento de um envelope permite que o serviço postal opere, o SMTP padroniza a maneira como o e-mail viaja do remetente ao destinatário, tornando possível a entrega generalizada de e-mails.

O SMTP é um protocolo de entrega de correspondência e não um protocolo de recuperação de correspondência. O serviço postal entrega a correspondência na caixa de correio, mas o destinatário ainda precisa tirar a correspondência da caixa de correio. Do mesmo modo, o SMTP entrega o e-mail ao servidor do provedor, mas outros protocolos são usados para recuperar a mensagem no servidor para que o destinatário possa ler o conteúdo.

Como funciona o SMTP?

Todos os protocolos de rede seguem um processo predefinido para trocar dados. O SMTP define um processo para trocar dados entre um cliente de e-mail e um servidor de e-mail. Um cliente de e-mail é com o que um usuário interage: o computador ou aplicativo web onde ele acessa e envia e-mails. Um servidor de e-mail é um computador especializado que envia, recebe e encaminha e-mails; os usuários não interagem diretamente com os servidores de e-mail.

Aqui temos um resumo do que acontece entre o cliente de e-mail e o servidor de e-mail quando um e-mail começa a ser enviado:

  • A conexão SMTP é estabelecida: como o SMTP usa o Protocolo de Controle de Transmissão (TCP) como protocolo de transporte, essa primeira etapa começa com uma conexão TCP entre cliente e servidor. Em seguida, o cliente de e-mail inicia o processo de envio do e-mail com um comando "Hello" especializado (HELO ou EHLO, descritos abaixo).
  • Os dados do e-mail são transferidos: o cliente envia para o servidor uma série de comandos acompanhados pelo conteúdo real do e-mail: cabeçalho (incluindo o destino e a linha de assunto), corpo e componentes adicionais.
  • Agente de transferência de correio(MTA): o servidor executa um programa chamado de Agente de transferência de correio (MTA). O MTA verifica o domínio do endereço de e-mail do destinatário e, se for diferente do remetente, consulta o Domain Name System (DNS) para encontrar o endereço de IP do destinatário. No correio físico, seria como se o serviço postal procurasse o CEP do destinatário.
  • A conexão é encerrada: o cliente alerta o servidor quando a transmissão de dados é concluída e o servidor encerra a conexão. Depois disso, o servidor não recebe mais dados de e-mail do cliente, a menos que uma nova conexão SMTP seja estabelecida.

Normalmente, esse primeiro servidor de e-mails não é o destino final real da mensagem. O servidor, após receber o e-mail do cliente, repete o processo de conexão SMTP com outro servidor de e-mail. Esse segundo servidor faz a mesma coisa até que, por fim, o e-mail chegue à caixa de entrada do destinatário em um servidor de e-mail controlado pelo provedor do destinatário.

Vamos comparar esse processo com a entrega de correspondências físicas mais uma vez. O serviço postal não leva a carta direto do remetente para o destinatário. Antes, a carta vai para a agência de correios. Em seguida, a carta é enviada para outra agência de correios em outra cidade, mais outra e assim por diante até chegar ao destinatário. O processo digital é semelhante: os e-mails vão de servidor para servidor via SMTP até chegarem à caixa de entrada do destinatário.

O que é um envelope SMTP?

O "envelope" SMTP é o conjunto de informações que o cliente de e-mail envia ao servidor de e-mail. Esses dados indicam de onde o e-mail vem e para onde ele vai. O envelope SMTP é diferente do cabeçalho e do corpo do e-mail e não é visível para o destinatário.

O que são os comandos SMTP?

Os comandos SMTP são instruções de texto predefinidas que indicam ao cliente ou servidor o que fazer e como lidar com os dados associados. São como botões que o cliente aperta para que o servidor aceite os dados corretamente.

  • HELO/EHLO: estes comandos dizem "Hello" e iniciam a conexão SMTP entre o cliente e o servidor. "HELO" é a versão básica do comando; "EHLO" é para um tipo especializado de SMTP.
  • MAIL FROM: isto informa ao servidor quem está enviando o e-mail. Se a Alice estivesse tentando enviar um e-mail para seu amigo Bob, o cliente enviaria "MAIL FROM:<alice@example.com>".
  • RCPT TO: este comando lista os destinatários do e-mail. O cliente pode enviar esse comando diversas vezes se houver muitos destinatários. No exemplo acima, o cliente de e-mail da Alice enviaria "RCPT TO:<bob@example.com>".
  • DATA: isto precede o conteúdo do e-mail, por exemplo:

DATA
Data: segunda-feira, 4 de abril de 2022
De: Alice alice@example.com
Assunto: Caçarola de ovos beniditinos
Para: Bob bob@example.com

Oi Bob,
Vou levar a receita de caçarola de ovos beniditinos na sexta-feira.
-Alice
.
  • RSET: este comando redefine a conexão, removendo todas as informações transferidas anteriormente sem encerrar a conexão SMTP. RSET é usado se o cliente envia informações incorretas.
  • QUIT: isto encerra a conexão.

O que é um servidor SMTP?

Um SMTP é um servidor de e-mail que envia e recebe e-mails usando o protocolo SMTP. Os clientes de e-mail se conectam diretamente com o servidor SMTP do provedor de e-mail para começar a enviar uma mensagem. Vários programas de software diferentes são executados em um servidor SMTP:

  • Agente de envio de correio (MSA): o MSA recebe e-mails do cliente de e-mail.
  • Agente de transferência de correio (MTA): o MTA transfere e-mails para o próximo servidor na cadeia de entrega. Como descrito acima, ele pode consultar o DNS para encontrar o registro de DNS de troca de e-mail (MX) do domínio do destinatário, se necessário.
  • Agente de entrega de correio (MDA): o MDA recebe e-mails dos MTAs e os armazena na caixa de entrada do destinatário.

Qual porta o SMTP usa?

Em uma rede, uma porta é o ponto virtual em que os dados de rede são recebidos. É como o número do apartamento no endereço de uma correspondência. Portas ajudam os computadores a organizar os dados de rede nos aplicativos corretos. Medidas de segurança de rede, como firewalls, podem bloquear portas desnecessárias para evitar o envio e recebimento de dados maliciosos.

Historicamente, o SMTP só usou a porta 25. Hoje a porta 25 ainda é utilizada pelo SMTP, mas ele também pode usar as portas 465, 587 e 2525.

  • A porta 25 é mais usada para conexões entre servidores SMTP. Hoje, os firewalls para redes de usuários finais geralmente bloqueiam essa porta, pois os spammers tentam abusar dela para enviar grandes quantidades de spam.
  • A porta 465 já foi designada para uso do SMTP com criptografia da Secure Sockets Layer (SSL). Mas a SSL foi substituída pela Transport Layer Security (TLS) e os sistemas de e-mail modernos não usam mais essa porta. Hoje, ela só aparece em sistemas legados (desatualizados).
  • A porta 587 agora é o padrão para o envio de e-mails. As comunicações SMTP por essa porta usam criptografia TLS.
  • A porta 2525 não está oficialmente associada ao SMTP, mas alguns serviços de e-mail oferecem entrega SMTP nessa porta nos casos em que as opções acima estejam bloqueadas.

SMTP versus IMAP e POP

O Protocolo de Acesso à Mensagem na Internet (IMAP) e o Protocolo dos Correios (POP) são usados para entregar o e-mail ao destino final. O cliente de e-mail precisa recuperar o e-mail no servidor de e-mail final para exibi-lo ao usuário. O cliente usa o IMAP ou o POP em vez do SMTP para essa finalidade.

Para entender a diferença entre SMTP e IMAP/POP, pense na diferença entre uma placa de madeira e uma corda. Um pedaço de madeira pode ser usado para empurrar algo para frente, mas não para puxá-lo. Uma corda pode puxar um item, mas não pode empurrá-lo. De modo semelhante, o SMTP "empurra" o e-mail para um servidor, mas o IMAP e o POP o "puxam" até o aplicativo do usuário.

O que é SMTP Estendido (ESMTP)?

O Protocolo de Transferência de Correio Simples Estendido (ESMTP) é uma versão do protocolo que vai além de de seus recursos originais, permitindo o envio de anexos ao e-mail, o uso de TLS e outros recursos. Quase todos os clientes e serviços de e-mail usam ESMTP e não o SMTP básico.

O ESMTP tem alguns comandos adicionais, como "EHLO", uma mensagem "hello estendida" que permite o uso do ESMTP no início da conexão.

O que é o Cloudflare Email Routing?

O Cloudflare Email Routing foi projetado para simplificar a criação e o gerenciamento de endereços de e-mail, sem precisar ficar de olho em outras caixas de entrada. Com o Email Routing, os usuários podem criar quantos endereços quiserem para usar nas situações em que não querem compartilhar o e-mail principal. Em seguida, os e-mails são encaminhados para a caixa de entrada preferencial, sem precisar expor esse e-mail principal.

O Cloudflare Email Routing modifica o envelope SMTP do e-mail, deixando o cabeçalho e o corpo inalterados. Para saber mais, leia o post no blog.