Um código de erro SMTP começa por 4 quando a falha é temporária e por 5 quando é permanente. O segundo algarismo indica a categoria. O código alargado de três números (5.1.1, por exemplo) nomeia a causa exata. Localize o seu código nas tabelas abaixo: cada família indica a causa frequente e o que fazer ao endereço.
Ler uma mensagem de rejeição (NDR)
Uma mensagem de rejeição, chamada NDR (non-delivery report), contém dois códigos (três algarismos e depois o código alargado) acompanhados de um texto livre. Exemplo:
550 5.1.1 The email account that you tried to reach does not exist
O primeiro algarismo separa o temporário do permanente. Segundo a RFC 5321, uma resposta 4yz significa que a ação pode ser pedida de novo: o servidor de envio volta a tentar. Uma resposta 5yz significa que o cliente não deve repetir o mesmo pedido na mesma sequência. O segundo algarismo classifica a resposta: 0 para a sintaxe, 1 para a informação, 2 para a ligação, 5 para o sistema de correio. O terceiro afina o sentido.
O código alargado vem da RFC 3463 e lê-se classe.assunto.detalhe. No exemplo, 5 indica uma falha permanente, 1 uma questão de endereço e 1 uma caixa inexistente. O texto varia de fornecedor para fornecedor. Para a lista completa, consulte os códigos de resposta SMTP.
NDR de mensagens que nunca enviou são provavelmente backscatter: um terceiro usurpou o seu endereço de remetente.
Códigos 4xx: erros temporários
O servidor remetente coloca a mensagem de novo em fila e tenta outra vez. A RFC 5321 pede um intervalo mínimo de 30 minutos entre tentativas e um prazo de desistência de pelo menos 4 a 5 dias. Passado esse prazo, a mensagem é devolvida. Perante um 4xx, o endereço permanece na lista.
| Código | Significado (RFC 5321) | Causa frequente | Ação sobre o endereço |
|---|---|---|---|
| 421 | Serviço indisponível, canal encerrado | Servidor sobrecarregado ou limitação de débito. No Gmail, um 421 4.7.0 pode assinalar um IP de envio sem registo PTR. | Manter. Corrigir a configuração se o texto citar o PTR. |
| 450 | Caixa indisponível (ocupada ou bloqueada temporariamente por razões de política) | Ritmo de receção demasiado elevado no destinatário (Gmail 450 4.2.1) ou greylisting | Manter. Suspender alguns dias se o 450 voltar. |
| 451 | Ação interrompida, erro de processamento local | Incidente no servidor do destinatário | Manter e deixar o servidor tentar de novo. |
| 452 | Armazenamento do sistema insuficiente | Caixa cheia (Gmail 452 4.2.2) ou demasiados destinatários numa transação (452 4.5.3) | Caixa cheia: suspender 7 a 14 dias. Demasiados destinatários: dividir o envio. |
Um 4xx que se repete em várias campanhas deixa de ser um incidente pontual. Passe então à reputação do remetente.
Códigos 5xx: erros permanentes
O servidor não volta a tentar. A RFC 5321 admite que um erro «permanente» seja corrigido, depois de emendar uma gralha, por exemplo. Reenviar a mesma mensagem para o mesmo endereço, sem alterar nada, não resolve um 5xx.

| Código | Significado (RFC 5321) | Causa frequente | Ação sobre o endereço |
|---|---|---|---|
| 501 | Erro de sintaxe nos parâmetros ou argumentos | Comando ou endereço mal formado: detalhe do erro 501 | Corrigir o endereço ou a configuração de envio. |
| 550 | Caixa indisponível (não encontrada, acesso recusado ou comando rejeitado por razões de política) | 5.1.1: endereço inexistente. 5.7.x: regra de filtragem, autenticação ou PTR em falta | 5.1.1: eliminar. 5.7.x: corrigir o envio e manter o endereço. Consulte também o 550 5.4.1. |
| 551 | Utilizador não local, é proposto um endereço de reencaminhamento | O servidor indica para onde enviar | Usar o novo endereço, se for fornecido; caso contrário, eliminar. |
| 552 | Ação interrompida, alocação de armazenamento excedida | Caixa cheia ou mensagem demasiado grande: ver a secção seguinte | Consoante o código alargado. |
| 553 | Nome de caixa não permitido (sintaxe incorreta) | Gralha no endereço. Gmail: 553 5.1.2 domínio não encontrado, 553 5.1.3 endereço inválido | Corrigir se o erro for evidente (gmial.com); caso contrário, eliminar. |
| 554 | Falha da transação | Rejeição genérica: o texto e o código alargado dão a causa (erro 554), por exemplo uma suspeita de spam ou uma lista negra | Ler o código alargado antes de decidir. |
Os erros 500 a 504 dizem respeito aos comandos SMTP. Vêm quase sempre do software de envio ou da sua configuração, por exemplo da porta SMTP e do método de autenticação. O 501 também pode apontar para um endereço mal formado.
Códigos alargados a conhecer
O código alargado desempata quando o código de três algarismos fica vago. Um 550 pode esconder um endereço inexistente (5.1.1) ou uma rejeição de autenticação (5.7.26): as duas situações pedem ações opostas.
| Código alargado | Definição | Ação |
|---|---|---|
| 5.1.1 | Endereço de caixa de destino inválido: a parte antes do @ não existe (RFC 3463) | Eliminar o endereço. |
| 5.1.2 | Domínio de destino inexistente ou incapaz de receber correio (RFC 3463) | Corrigir o domínio ou eliminar. |
| 5.2.2 | Caixa cheia, o utilizador pode libertar espaço (RFC 3463) | Suspender 7 a 14 dias e retirar se a rejeição persistir. |
| 5.3.4 | Mensagem maior do que o limite por mensagem (RFC 3463) | Reduzir a mensagem, senão o reenvio falha pelo mesmo motivo. |
| 4.7.0 / 5.7.0 | Estado de segurança diferente ou indefinido (RFC 3463) | Ler o texto da rejeição. |
| 5.7.1 | Envio não autorizado, mensagem recusada: filtragem por anfitrião ou por destinatário (RFC 3463) | Ler o texto. Manter o endereço se a rejeição visar o seu envio. |
| 5.7.25 | No Gmail: IP de envio sem registo PTR válido | Corrigir o PTR. |
| 5.7.26 | No Gmail: remetente não autenticado ou rejeitado pela política DMARC do domínio | Rever SPF, DKIM e DMARC. |
Os códigos 5.7.25 e 5.7.26 estão documentados pela Google na lista de erros SMTP do Gmail. A RFC 3463 não os contém. O mesmo código pode, por isso, mudar de sentido de um fornecedor para outro.
552: caixa cheia ou mensagem demasiado grande
A RFC 5321 define o 552 como «exceeded storage allocation». Este código cobre, no entanto, várias situações. No Gmail, 552 5.2.2 designa uma caixa inativa e cheia. 552 5.3.4 assinala uma mensagem que ultrapassa o tamanho máximo. Um 552 5.7.0 indica conteúdo bloqueado por razões de segurança (Google, lista de erros SMTP).
No 552 5.2.2, a caixa cheia pode ser libertada, pelo que esperar é útil. A RFC 3463 qualifica «caixa cheia» como falha transitória persistente, porque o destinatário pode libertar espaço. A regra de suspensão está detalhada no artigo sobre o erro 552 mailbox full. No 552 5.3.4, reduza o tamanho da mensagem.
Um 552 emitido por «demasiados destinatários» resulta de um erro da RFC 821: o código correto é 452 e a RFC 5321 pede ao cliente que trate esse 552 como temporário.
Hard bounce e soft bounce: o que fazer a cada endereço
O tratamento do endereço depende do código alargado, não apenas da família. Um 5xx produz em geral um hard bounce (rejeição definitiva) e um 4xx um soft bounce (rejeição temporária, definitiva só se o servidor acabar por desistir). A taxa de rejeição aceitável calcula-se a partir destas duas famílias.
- 5.1.1: a caixa não existe. Elimine o endereço. 5.1.2 ou 5.1.3: domínio não encontrado ou endereço mal formado. Corrija a gralha se for evidente; caso contrário, elimine.
- 5.2.2: caixa cheia. Suspenda 7 a 14 dias. Uma caixa cheia deve-se muitas vezes a uma conta abandonada: uma campanha de reengajamento pode servir para o confirmar.
- 5.7.x: a rejeição visa o envio (autenticação, reputação, conteúdo ou política do destinatário) e a caixa existe. Leia o texto, corrija a causa e mantenha o endereço.
- 4.x.x isolado: nenhuma ação, o servidor tenta de novo.
Estas durações pertencem à higiene de listas: nenhuma RFC as fixa.
Eliminar endereços válidos após um 5.7.1 esvazia a lista sem motivo. O detalhe por cenário consta do artigo sobre a gestão de bounces. Se as recusas se multiplicam sem razão aparente, leia porque aumentam as rejeições SMTP.
Nem todos os emails não entregues têm um código aproveitável.
Perguntas frequentes
Deve reenviar-se um email após um 5xx?
Sem alterações, o reenvio falha da mesma forma. Corrija primeiro o que o código designa (endereço ou tamanho da mensagem). Uma caixa cheia (5.2.2) é a exceção: a suspensão dá ao destinatário tempo para libertar espaço.
Evitar o 550 5.1.1 antes do envio
O endereço inexistente previne-se antes do envio. Uma validação de endereços deteta as caixas inexistentes e os domínios mal escritos. O duplo opt-in filtra as gralhas na inscrição. Passe uma amostra da sua próxima lista pela verificação e compare depois a taxa de hard bounce com a da última campanha.

