# Códigos de resposta SMTP

> O que cada código de resposta SMTP significa, se é temporário ou permanente, como o Emailit o trata e as respostas que o SMTP relay do Emailit envia para a sua aplicação.

Todo comando SMTP recebe uma resposta de três dígitos. Esta página lista os códigos que você vê em dois lugares: nas respostas dos servidores de e-mail dos destinatários quando o Emailit entrega os seus e-mails, e nas respostas do próprio SMTP relay do Emailit quando a sua aplicação envia por `smtp.emailit.com`.

## Como ler uma resposta

Uma resposta começa com um código de três dígitos, geralmente seguido de um [código de status estendido](/pt/docs/dictionary/enhanced-status-codes/) e de uma mensagem legível:

```text
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknown
```

O primeiro dígito indica o resultado:

| Primeiro dígito | Significado | O que o remetente deve fazer |
|---|---|---|
| `2` | Sucesso. O comando foi aceito. | Continuar. |
| `3` | Intermediário. O servidor precisa de mais dados, por exemplo o corpo da mensagem depois de `DATA`. | Enviar a próxima parte. |
| `4` | Falha temporária. O mesmo comando pode funcionar mais tarde. | Tentar de novo mais tarde. |
| `5` | Falha permanente. Repetir o comando não vai adiantar. | Não tentar de novo sem mudar alguma coisa. |

O segundo dígito indica a categoria (`0` sintaxe, `1` informação, `2` conexão, `5` sistema de e-mail), e o terceiro dígito a refina. Os servidores costumam usar os códigos sem muito rigor, então leia sempre o código estendido e o texto da mensagem também.

## Como o Emailit trata as respostas dos servidores de destino

Quando o servidor de um destinatário responde com uma falha, o Emailit registra uma [entrega](/pt/docs/logs/email-details/) com a resposta completa e decide se vai tentar de novo:

- **Bounce imediato.** Respostas com código `550`, `551`, `553` ou `554`, e respostas cujo texto diz que a falha é permanente. O e-mail recebe o status `bounced`.
- **Nova tentativa.** Todo o resto, incluindo `421`, `450`, `451`, `452`, timeouts e erros de conexão. O e-mail recebe o status `attempted`, e o Emailit tenta de novo até 7 vezes ao longo de cerca de 21 horas (após 10, 20, 40, 80, 160, 320 e 640 minutos). Se todas as tentativas falharem, o e-mail dá bounce e o endereço é suprimido.
- **Tratadas como permanentes apesar do código 4xx.** As respostas comuns “mailbox full”, “over quota”, “user unknown”, “mailbox disabled” e “relay access denied” são convertidas em falha permanente, porque tentar de novo raramente funciona.
- **Backoff.** Uma resposta `451` pausa a entrega daquele IP de envio para aquele domínio de destino por 5 minutos. Um bloqueio `550 5.7.1` (por motivos que não sejam o conteúdo) a pausa por 1 hora. Os e-mails que encontram uma pausa ficam como `attempted` e recebem novas tentativas no cronograma normal.

Os hard bounces levam à [supressão automática](/pt/docs/suppressions/manage/) conforme as configurações do seu workspace. Para causas e soluções agrupadas por problema, consulte [Categorias de bounce](/pt/docs/dictionary/bounce-categories/).

## Referência de códigos de resposta

“Emailit” descreve o que acontece quando o servidor de um destinatário envia este código durante a entrega.

### 2xx e 3xx: sucesso e intermediário

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `220` | Serviço pronto. A saudação do servidor, também enviada antes de um handshake `STARTTLS`. | Sucesso | Continua a conversa. |
| `221` | Encerrando a conexão, geralmente depois de `QUIT`. | Sucesso | Nada. |
| `235` | Autenticação bem-sucedida. | Sucesso | Não é usado na entrega aos destinatários; o relay do Emailit o envia para a sua aplicação depois de `AUTH`. |
| `250` | Ação solicitada concluída. Depois de `DATA`, o servidor aceitou a mensagem. | Sucesso | Marca o e-mail como `delivered`. |
| `251` | Usuário não local; o servidor vai encaminhar a mensagem. | Sucesso | Tratado como `250`. |
| `252` | O servidor não consegue verificar o usuário, mas vai tentar entregar. | Sucesso | Tratado como `250`. |
| `354` | Comece a enviar o corpo da mensagem; termine com uma linha contendo apenas um ponto. | Intermediário | Envia a mensagem. |

### 4xx: falhas temporárias

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `421` | Serviço indisponível, encerrando a conexão. Muitas vezes excesso de conexões ou um bloqueio temporário por reputação. | Temporária | Nova tentativa. As variantes de caixa cheia e de conta indisponível dão bounce. |
| `450` | Caixa de e-mail indisponível, por exemplo ocupada, bloqueada ou em greylisting. | Temporária | Nova tentativa. As variantes de cota, usuário desconhecido e caixa desativada dão bounce. |
| `451` | Erro local no processamento, muitas vezes limitação de ritmo ou greylisting. | Temporária | Nova tentativa, com backoff de 5 minutos para aquele IP e domínio. As variantes de cota excedida e de caixa inativa dão bounce. |
| `452` | Armazenamento do sistema insuficiente, ou destinatários demais em uma única transação. | Temporária | Nova tentativa. As variantes de cota, armazenamento e caixa cheia dão bounce. |
| `454` | Falha temporária de autenticação ou de TLS. | Temporária | Nova tentativa. As variantes “Relay access denied” dão bounce. |

### 5xx: falhas permanentes

| Código | Significado | Tipo | Emailit |
|---|---|---|---|
| `500` | Erro de sintaxe, comando não reconhecido. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `501` | Erro de sintaxe nos parâmetros ou argumentos, como um endereço malformado. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `502` | Comando não implementado. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `503` | Sequência de comandos inválida. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `504` | Parâmetro do comando não implementado. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `521` | O domínio não aceita e-mails (RFC 7504). | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `530` | Autenticação obrigatória, ou o servidor exige TLS primeiro. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `534` | O mecanismo de autenticação é fraco demais. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `535` | Credenciais de autenticação inválidas. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `538` | Criptografia obrigatória para o mecanismo de autenticação solicitado. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `550` | Caixa de e-mail indisponível: o endereço não existe, ou o servidor recusou a mensagem por política ou spam. | Permanente | Bounce. Os bloqueios `550 5.7.1` também disparam um backoff de 1 hora para aquele IP e domínio. |
| `551` | Usuário não local; o servidor não vai encaminhar. | Permanente | Bounce. |
| `552` | Caixa cheia ou a mensagem excede o limite de tamanho do servidor. | Permanente | Novas tentativas, depois bounce após a última tentativa. As respostas conhecidas de cota excedida dão bounce na hora. |
| `553` | Nome de caixa de e-mail não permitido, por exemplo um endereço inválido. | Permanente | Bounce. |
| `554` | A transação falhou, muitas vezes uma rejeição por política, spam ou reputação. Também é enviado como saudação quando um servidor recusa a conexão. | Permanente | Bounce. |
| `555` | Parâmetros de `MAIL FROM` ou `RCPT TO` não reconhecidos. | Permanente | Novas tentativas, depois bounce após a última tentativa. |
| `556` | O domínio não aceita e-mails (RFC 7504). | Permanente | Novas tentativas, depois bounce após a última tentativa. |

> **Por que alguns códigos 5xx recebem novas tentativas:** O Emailit só marca bounce na hora com `550`, `551`, `553` e `554`, ou quando a resposta diz que a falha é permanente. As outras respostas `5xx` recebem novas tentativas como falhas temporárias e dão bounce depois da sétima tentativa. Enquanto isso, o e-mail aparece como `attempted`.

## Respostas do SMTP relay do Emailit

Quando a sua aplicação envia por `smtp.emailit.com`, estas são as respostas que o Emailit pode retornar. As respostas aos comandos `MAIL` e `DATA` em uma conexão autenticada também aparecem em **Email API → Logs**, com o código de status.

| Resposta | Comando | Causa | O que fazer |
|---|---|---|---|
| `235 Authentication successful` | `AUTH` | A chave de API foi aceita. | Continue. |
| `535 Authentication failed` | `AUTH` | A senha não é uma chave de API válida de nenhum workspace. | Use uma chave de API atual como senha. O usuário pode ser `emailit`. |
| `454 Temporary authentication failure` | `AUTH` | O Emailit não conseguiu verificar a chave por causa de um erro interno. | Tente de novo depois de um breve intervalo. |
| `504 Error: Unrecognized authentication type` | `AUTH` | O seu cliente usou um método diferente de `PLAIN` ou `LOGIN`, como `CRAM-MD5`. | Configure o cliente para `PLAIN` ou `LOGIN`. |
| `452 4.4.5 Messages per second limit exceeded (n/limit)` | `MAIL FROM` | O workspace atingiu o [limite de envio](/pt/docs/limits/) por segundo. O limite é compartilhado entre a API e o SMTP. | Reduza o ritmo e tente de novo. A maioria das bibliotecas de e-mail tenta de novo automaticamente em respostas `4xx`. |
| `452 4.5.3 Daily message limit exceeded (n/limit)` | `MAIL FROM` | O workspace atingiu o limite diário de envio, que é renovado às 00:00 UTC. | Espere a renovação ou solicite um limite maior pelo painel. |
| `451 Temporary local error in processing` | `MAIL FROM`, `RCPT TO`, `DATA` | Um problema temporário do lado do Emailit. | Tente de novo mais tarde. |
| `530 Authentication required` | `RCPT TO` | O cliente não fez login antes de enviar. | Ative a autenticação SMTP no seu cliente. |
| `501 Invalid RCPT TO format` | `RCPT TO` | O endereço do destinatário está malformado. | Corrija o endereço. |
| `550 Unverified workspaces can only send to workspace members' account emails.` | `RCPT TO` | O workspace está em [modo sandbox](/pt/docs/workspaces/production-access/) e o destinatário não é membro. | Envie para o e-mail da conta de um membro ou solicite o acesso de produção. |
| `535 Mail server has been suspended` | `RCPT TO` | O workspace está suspenso. | Confira a sua saúde de envio e fale com o suporte. |
| `530 From/Sender domain is not verified for this workspace. From: ...` | `DATA` | O cabeçalho `From` não está em um domínio de envio verificado do workspace. Os subdomínios precisam ser verificados separadamente. | [Verifique o domínio](/pt/docs/domains/verification/) ou altere o endereço `From`. |
| `530 API key is restricted to sending domain: acme.com. ...` | `DATA` | A chave de API é restrita a um domínio e o endereço `From` usa outro. | Use o domínio permitido ou outra chave. |
| `550 Sending from this domain is paused` | `DATA` | O domínio foi pausado, geralmente por causa de uma taxa de bounce alta. | Consulte [Saúde de envio](/pt/docs/deliverability/sending-health/). |
| `552 Message too large (maximum size 40MB)` | `DATA` | A mensagem, incluindo os anexos codificados, tem mais de 40 MB. | Envie anexos menores ou inclua links para os arquivos. |
| `550 Loop detected` | `DATA` | A mensagem já passou pelo relay do Emailit mais de 4 vezes. | Confira as regras de encaminhamento que mandam e-mails de volta para o Emailit. |
| `550 Message processing failed` | `DATA` | O Emailit não conseguiu armazenar a mensagem. | Tente de novo. Se continuar falhando, fale com o suporte, informando o horário da tentativa. |
| `250 2.0.0 OK: queued as em_...` | `DATA` | O Emailit aceitou a mensagem. Cada destinatário recebe o próprio ID de e-mail, listados separados por vírgulas quando cabem na resposta. | Guarde o ID para consultar o e-mail no painel ou pela API. |

O relay também envia as respostas padrão do protocolo, como `220` quando você se conecta, `503 Error: need MAIL command` quando os comandos chegam fora de ordem e `421 Timeout - closing connection` quando uma conexão fica ociosa.

> **E-mails recebidos:** Quando o Emailit recebe e-mails para o seu [subdomínio de recebimento](/pt/docs/inbound/set-up/) e o workspace não tem mais créditos, o servidor remetente recebe `452 Insufficient credits to receive inbound email` e tenta de novo mais tarde.

## Veja também

- [Códigos de status estendidos](/pt/docs/dictionary/enhanced-status-codes/)
- [Categorias de bounce](/pt/docs/dictionary/bounce-categories/)
- [Configurações de SMTP](/pt/docs/smtp/settings/)
- [Solução de problemas de SMTP](/pt/docs/smtp/troubleshooting/)

---
Fonte: https://emailit.com/pt/docs/dictionary/smtp-reply-codes/
