Pular para o conteúdo
couryo

Guias

Códigos de devolução SMTP explicados: 550, 421, 552 e outros

O que significa cada código de erro SMTP (550 5.7.1, 550 5.1.1, 421, 451, 452, 552, 554, 5.7.26, 5.7.515...), em português, se o problema é seu ou do destinatário e o que fazer em cada caso.

Atualizado em

Ver em Markdown

Quando um servidor de e-mail recusa ou adia uma mensagem, ele responde com um código. Saber ler esse código separa "o endereço não existe" de "o seu domínio não está autenticado", e cada um tem uma correção diferente.

Como ler um código SMTP#

Uma resposta típica:

Resposta do servidor de destino
550 5.1.1 <ana@exemplo.com.br>: Recipient address rejected: User unknown
  • 550 é o código básico (RFC 5321). O primeiro dígito diz o tipo: 2 deu certo, 4 é temporário (tente depois), 5 é permanente (não adianta repetir igual).
  • 5.1.1 é o código estendido (RFC 3463), no formato classe.assunto.detalhe. O assunto ajuda muito: x.1.x é endereço, x.2.x é caixa postal, x.3.x é o servidor de destino, x.4.x é rede e rota, x.5.x é protocolo, x.7.x é segurança e política.
  • O texto depois é livre e muda de provedor para provedor. Ele costuma trazer o motivo exato e, às vezes, um link de ajuda.

Devolução permanente (hard bounce) é a 5xx por endereço ou domínio que não existe: tire o endereço da lista. Devolução temporária (soft bounce) é a 4xx: o servidor de envio tenta de novo sozinho. Bloqueio por política (5.7.x) não é culpa do destinatário: o problema está no remetente.

Os códigos mais comuns#

Código O que significa De quem é o problema O que fazer
250 2.0.0 aceito ninguém nada; daqui em diante é o filtro do destino
421 4.7.0 servidor recusou por enquanto (ritmo, reputação ou verificação) remetente reduzir o ritmo; o envio é repetido sozinho
450 4.2.1 caixa temporariamente indisponível destinatário esperar; tentativa automática
451 4.7.1 adiado por política, muitas vezes greylisting (o servidor pede para tentar de novo mais tarde) ninguém esperar; a segunda tentativa costuma passar
452 4.2.2 caixa cheia destinatário tentar mais tarde; não remover o endereço na primeira vez
452 4.5.3 destinatários demais numa mensagem remetente dividir o envio
535 5.7.8 usuário ou senha do SMTP errados remetente conferir a credencial
550 5.1.1 o endereço não existe lista remover o endereço; pedir o e-mail certo à pessoa
550 5.1.2 ou 5.4.4 o domínio do destinatário não existe ou não recebe e-mail lista conferir se foi digitado certo (gmial.com, hotmal.com)
550 5.2.1 caixa desativada destinatário remover o endereço
552 5.2.2 caixa cheia, de forma permanente destinatário remover se repetir em dias diferentes
552 5.3.4 mensagem grande demais remetente diminuir anexos ou mandar um link
553 5.1.3 endereço mal formado lista corrigir o endereço
550 5.7.1 recusado por política: spam, reputação, lista de bloqueio, ou o servidor não aceita retransmitir remetente ler o texto; conferir autenticação, listas e conteúdo
554 5.7.1 recusado por conteúdo ou política remetente revisar links, anexos e texto; conferir listas
550 5.7.26 (Gmail) mensagem sem autenticação: falhou no DMARC ou não tem SPF nem DKIM remetente publicar SPF, DKIM e DMARC alinhados
550 5.7.25 (Gmail) o IP que enviou não tem DNS reverso (PTR) serviço de envio usar um serviço com PTR correto
421 4.7.28 (Gmail) volume incomum de mensagens não desejadas vindo do remetente remetente reduzir o ritmo, limpar a lista, olhar o Postmaster Tools
550 5.7.515 (Microsoft) quem envia em volume sem SPF, DKIM e DMARC exigidos remetente publicar os três, alinhados
550 5.7.606 a 5.7.649 (Microsoft) IP de envio bloqueado serviço de envio pedir a retirada pelo portal de remetentes da Microsoft
421 4.7.0 [TSS04] (Yahoo) adiado por volume inesperado ou reclamações remetente reduzir o ritmo e as reclamações

Os que mais aparecem, em detalhe#

550 5.7.1#

É o código "genérico de recusa por política". O texto que vem junto diz o motivo real:

  • "likely unsolicited mail" / "spam": o filtro achou que é spam. Confira autenticação, reputação e conteúdo (veja Por que meu e-mail cai no spam).
  • "blocked using ..." / "listed": o IP ou o domínio está numa lista de bloqueio. Confira a lista citada e peça a retirada depois de corrigir a causa.
  • "relay access denied" / "relaying denied": o servidor não aceita mensagem para aquele destino sem autenticação. Acontece quando o SMTP está configurado sem login.

550 5.1.1#

O endereço não existe. Não adianta tentar de novo: remova da lista na hora. Muitas devoluções desse tipo derrubam a reputação, porque indicam lista velha ou comprada.

421 e outros 4xx#

São adiamentos. O servidor de envio tenta de novo com intervalos crescentes, e a maioria passa. Se continuam por dias, viram devolução. Muitos 421 seguidos para o mesmo provedor indicam reputação baixa ou ritmo alto demais.

552#

Mensagem grande demais (5.3.4) ou caixa cheia (5.2.2). No primeiro caso, troque anexos por links; no segundo, a pessoa precisa liberar espaço.

554#

Recusa final, muitas vezes por conteúdo ou por política sem mais detalhes. Leia o texto: ele costuma citar o motivo ou uma lista de bloqueio.

Onde encontrar o código#

  • Na devolução: o e-mail "Mail Delivery Subsystem" ou "Undeliverable" traz o código e o texto.
  • No log do servidor de envio ou no painel do serviço, por mensagem.
  • No seu sistema, quando ele envia por SMTP: a exceção de envio costuma trazer o código (SMTPRecipientsRefused, Swift_TransportException, EENVELOPE...).

Códigos que o próprio Couryo responde#

Quando você envia pelo SMTP do Couryo (smtp.couryo.com), estes são os códigos da conversa entre o seu sistema e o Couryo, antes de a mensagem ir para o destino:

Código Quando
250 2.0.0 aceito e na fila (a resposta traz o ID msg_...)
535 5.7.8 usuário diferente de couryo, ou chave inválida, revogada ou sem escopo send
550 5.7.1 domínio do remetente não verificado, conta no nível 0 enviando para fora, ou todos os destinatários suprimidos
452 4.7.0 limite do nível, do plano ou de gasto, ou envio pausado; a mensagem traz o motivo
552 5.3.4 mensagem acima de 30 MB
554 5.6.0 mensagem que a API também recusaria (campo inválido)
451 4.3.0 erro do nosso lado: nada foi enviado, tente de novo

Detalhes em SMTP. Pela API, os erros vêm em JSON com um code estável; veja Erros.

Onde o Couryo entra#

No Couryo, cada devolução aparece na linha do tempo da mensagem com o código, a resposta original do servidor de destino e a explicação em português, com o que fazer: "O Hotmail recusou porque o seu domínio não tem DMARC; publique este registro". Endereços que não existem vão para a lista de supressão sozinhos; bloqueios por política não suprimem o destinatário e abrem um alerta para o agente de entregabilidade. Veja Webhooks para receber esses eventos no seu sistema.

Perguntas frequentes#

Qual a diferença entre 4xx e 5xx?#

4xx é temporário: o servidor pede para tentar de novo mais tarde, e o envio é repetido sozinho. 5xx é permanente: repetir a mesma mensagem não vai dar outro resultado sem corrigir a causa.

O que é hard bounce e soft bounce?#

Hard bounce é a devolução permanente por endereço ou domínio que não existe (5.1.x); o endereço deve sair da lista. Soft bounce é a temporária (caixa cheia, servidor indisponível, adiamento); vale tentar de novo, e só remover se repetir por vários dias.

Recebi 550 5.7.1. O destinatário me bloqueou?#

Raramente é uma pessoa. Quase sempre é o filtro do provedor recusando pelo remetente: autenticação, reputação, lista de bloqueio ou conteúdo. O texto depois do código diz qual.

O que é greylisting?#

Uma técnica em que o servidor de destino recusa temporariamente (451) a primeira tentativa de um remetente desconhecido. Servidores legítimos tentam de novo e passam; muitos programas de spam não tentam.