Skip to content
Comece com 100 créditos de verificação grátis
Qualisend
Todos os artigos
Engenharia / 18 de fevereiro de 2026

Códigos de resposta SMTP explicados para quem envia e-mail

7 minutes read

Qualisend team
Códigos de resposta SMTP agrupados nas classes 2xx aceito, 4xx repetir e 5xx rejeitado

A resposta rápida#

Toda vez que um servidor de e-mail conversa com outro, ele responde cada comando com um código de três dígitos. O primeiro dígito indica a categoria — 2xx sucesso, 4xx falha temporária, 5xx falha permanente — e esse primeiro dígito já conta quase toda a história quando o assunto é entregabilidade. Um verificador de e-mail interpreta esses mesmos códigos durante a sua sondagem, sem nunca enviar uma mensagem, para decidir se uma caixa postal é entregável, não entregável ou impossível de determinar. Este é o guia prático dos códigos que você realmente vai encontrar e do veredito que cada um produz.

Como interpretar um código de resposta#

Os códigos SMTP têm uma gramática consistente. O primeiro dígito é a classe do resultado:

  • 2xx — sucesso. O comando funcionou. 250 ("ação solicitada concluída") é o que você quer ver.
  • 4xx — falha transitória. Algo deu errado, mas pode dar certo se você tentar de novo mais tarde. Isso é um adiamento, não uma rejeição.
  • 5xx — falha permanente. O servidor está recusando, e repetir a tentativa não vai adiantar.

Muitos servidores também enviam um código de status estendido — um segundo número, separado por pontos, como 5.1.1 — definido pela RFC 3463. O dígito do meio afunila o motivo: x.1.x é sobre o endereço, x.2.x sobre a caixa postal, x.7.x sobre segurança ou política. Essa classe x.7.x é como um verificador consegue distinguir um bloqueio de reputação ("estamos recusando você") de uma caixa postal simplesmente inexistente, mesmo quando o texto legível para humanos é vago.

Para a verificação, o mapeamento é revigorantemente simples:

Resposta ao RCPT TOSignificadoVeredito da Qualisend
250 / 251Destinatário aceitodeliverable / accepted_email
4xxAdiamento temporário (greylisting, limite de taxa)repetir, depois unknown / timeout
452 / 552Caixa postal acima da cotarisky / low_deliverability
classe 550Rejeição permanente, usuário inexistenteundeliverable / rejected_email
Timeout / sem respostaO servidor nunca respondeu de forma conclusivaunknown / unavailable_smtp

Os códigos que você realmente vai encontrar#

250 — OK#

O destinatário foi aceito. Em uma sondagem de verificação, este é o sinal positivo mais forte — mas interprete-o em contexto: em um domínio catch-all o servidor retorna 250 para todo endereço, real ou não, então um 250 ali só tem valor quando uma sondagem paralela de um endereço sem sentido é rejeitada.

421 — Serviço não disponível#

O servidor está fechando a conexão, muitas vezes porque está sobrecarregado ou limitando o seu tráfego. Transitório por classe — um verificador o trata como um adiamento e repete a tentativa, depois reporta unknown se persistir.

450 / 451 — Caixa postal indisponível / erro local, tente de novo#

As respostas clássicas de greylisting. O servidor está recusando temporariamente um remetente desconhecido e convidando a uma nova tentativa. Um servidor de e-mail de verdade repete automaticamente; um verificador repete dentro do seu orçamento de tempo e recorre a unknown se o adiamento durar mais do que ele consegue esperar. O 451 frequentemente carrega "greylisted, please try again later" no seu texto.

452 — Armazenamento de sistema insuficiente / destinatários demais#

Muitas vezes significa que a caixa postal está cheia. A caixa postal existe — por isso a Qualisend trata um sinal de caixa cheia como risky (low_deliverability) em vez de não entregável: a mensagem pode voltar agora, mas o endereço não está morto, e caixas postais cheias frequentemente se recuperam.

550 — Caixa postal indisponível / usuário desconhecido#

A rejeição cavalo de batalha. O endereço não existe, ou o servidor está recusando a entrega permanentemente. Veredito: undeliverable / rejected_email. Se o código estendido for 5.1.1, é especificamente "caixa postal de destino inválida" — um "usuário inexistente" limpo e inequívoco.

551 / 553 — Usuário não local / nome de caixa postal não permitido#

Rejeições permanentes menos comuns — o servidor não faz relay para aquele destinatário, ou o formato do endereço é inaceitável. Ambas são undeliverable.

554 — Transação falhou#

Uma falha permanente genérica, frequentemente usada para bloqueios por política: "transaction failed", "message refused" ou uma rejeição antispam. Quando acompanhada de um código estendido 5.7.x ou de palavras-chave de blocklist, ela sinaliza que o servidor está recusando o seu remetente, não julgando a caixa postal — uma distinção que um bom verificador registra separadamente para que um problema de reputação não seja lido erroneamente como um endereço morto.

O resto da conversa#

A resposta ao RCPT TO carrega o veredito, mas uma sondagem de verificação interpreta vários outros códigos no caminho até lá, e reconhecê-los ajuda quando você está encarando um log SMTP bruto ou uma mensagem de bounce:

  • 220 — serviço pronto. A saudação que o servidor envia quando você se conecta. Nenhum 220 significa que você nem passou da porta — muitas vezes um bloqueio no nível da conexão, que um verificador registra como unavailable_smtp.
  • 250 depois de HELO/EHLO e MAIL FROM. Cada etapa do handshake recebe o seu próprio 250. Uma rejeição antes do RCPT TO — no MAIL FROM, por exemplo — geralmente é o servidor recusando o seu remetente, não julgando o destinatário.
  • 354 — inicie a entrada da mensagem. O servidor convidando você a enviar o corpo da mensagem. Um verificador nunca chega aqui de propósito: ele para no RCPT e desconecta, então a mensagem nunca é transmitida.
  • 221 — encerrando a conexão. O adeus educado depois do QUIT.
  • 501/502/503 — erros de sintaxe ou de sequência. Os comandos chegaram malformados ou fora de ordem. Estes são sobre a conversa, não sobre o endereço, e um verificador robusto lida com eles sem lê-los erroneamente como um veredito da caixa postal.

O ponto prático: nem todo não-250 é uma caixa postal morta. Uma rejeição na etapa errada da conversa geralmente é sobre o seu remetente ou sobre a conexão, e interpretar qual etapa falhou é como um verificador evita culpar o destinatário pelo humor do servidor.

Permanente, transitório e o honesto desconhecido#

A decisão de maior consequência que um verificador toma é como ele trata o 4xx. Um 5xx permanente é fácil: o endereço é ruim, suprima-o. Um 250 é fácil: é entregável (ressalvas de catch-all à parte). Mas um 4xx é o servidor declinando explicitamente de responder ainda — e a resposta honesta é repetir a tentativa, depois reportar unknown se o adiamento persistir, nunca chutar.

É também por isso que o mesmo endereço pode retornar vereditos diferentes em execuções diferentes sem que nenhuma ferramenta esteja mentindo: a caixa postal é determinística, mas o código que ela produz depende do humor do servidor — greylisting na primeira tentativa, 250 na repetição. Os códigos são uma conversa ao vivo, não uma consulta a banco de dados.

Onde a verificação interpreta esses códigos#

No pipeline de verificação, os códigos de resposta são a matéria-prima da etapa 6, a sondagem SMTP da caixa postal. O verificador conduz a conversa de entrega — HELO, MAIL FROM, RCPT TO — interpreta o código do RCPT e desconecta antes do DATA, de modo que o dono da caixa postal nunca recebe nada. Tudo o que está acima é como esse único código de RCPT se torna um status sobre o qual você pode agir.

Perguntas frequentes#

Qual é a diferença entre um bounce 4xx e um 5xx?#

4xx é temporário — o servidor está adiando e uma nova tentativa pode dar certo, então a infraestrutura de envio continua tentando por um tempo (um "soft bounce"). 5xx é permanente — o servidor está recusando de vez, então a mensagem é um "hard bounce" e novas tentativas vão falhar da mesma forma. Para a higiene da lista, os endereços 5xx devem ser suprimidos; os endereços 4xx devem ter a tentativa repetida ou ser marcados como desconhecidos — construir um classificador de bounces transforma exatamente essa regra em código.

Um 550 sempre significa que o endereço é inválido?#

Quase sempre significa "usuário inexistente", mas o 550 também é usado para rejeições por política — o servidor bloqueando o seu remetente em vez de julgar a caixa postal. O código de status estendido tira a ambiguidade: 5.1.1 é uma caixa postal genuinamente inválida, enquanto 5.7.x sinaliza um bloqueio de segurança ou de reputação. Um verificador que interpreta o código estendido não vai arquivar erroneamente um problema de reputação como um endereço morto.

O que é um código de status estendido?#

É o segundo número opcional em uma resposta, como 5.1.1 ou 4.7.1, definido pela RFC 3463. Os três campos são classe (2/4/5, igual ao código básico), assunto (sobre o que o código trata — endereço, caixa postal, rede, política) e detalhe. Eles dão uma precisão legível por máquina que a mensagem em texto livre muitas vezes não tem.

Posso confiar totalmente em um 250?#

Só se o domínio não for catch-all. Um 250 de um servidor normal que rejeita destinatários inexistentes é um forte sinal positivo; um 250 de um domínio catch-all não significa nada, porque esse servidor retorna 250 para qualquer endereço possível. É exatamente por isso que a verificação sonda um endereço sem sentido em paralelo.

Your reputation, protected.

Clean your first list in minutes. 100 free credits, no card required.

Get started