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 MarkdownQuando 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:
550 5.1.1 <ana@exemplo.com.br>: Recipient address rejected: User unknown550é o código básico (RFC 5321). O primeiro dígito diz o tipo:2deu certo,4é temporário (tente depois),5é permanente (não adianta repetir igual).5.1.1é o código estendido (RFC 3463), no formatoclasse.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.