Referência
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 e de uma mensagem legível:
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknownO 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 com a resposta completa e decide se vai tentar de novo:
- Bounce imediato. Respostas com código
550,551,553ou554, e respostas cujo texto diz que a falha é permanente. O e-mail recebe o statusbounced. - Nova tentativa. Todo o resto, incluindo
421,450,451,452, timeouts e erros de conexão. O e-mail recebe o statusattempted, 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
451pausa a entrega daquele IP de envio para aquele domínio de destino por 5 minutos. Um bloqueio550 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 comoattemptede recebem novas tentativas no cronograma normal.
Os hard bounces levam à supressão automática conforme as configurações do seu workspace. Para causas e soluções agrupadas por problema, consulte Categorias de bounce.
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. |
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 APILogs, 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 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 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 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. |
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.