Ir diretamente para o conteúdo

Definições de cookies

Escolha que tipos de cookies permite. Pode alterar a sua escolha a qualquer momento em Definições de cookies, no fundo de cada página. Política de privacidade

Necessários

Sempre ativos

Necessários para iniciar sessão, manter o seu carrinho e memorizar as suas escolhas. Estão sempre ativos.

Que cookies?
  • weboke_sessie, weboke_klant, weboke_remember: a sua sessão e manter a sessão iniciada
  • weboke_basket: o seu carrinho
  • wkBtwIncl: mostrar preços com ou sem IVA
  • wok_cookies: a sua escolha de cookies, 12 meses

Mede que anúncio leva a uma visita ou encomenda, para não pagarmos por anúncios que não dão resultado.

Que cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), até 90 dias
  • OpenAI Ads, anúncios no ChatGPT
  • wok_aff: através de que parceiro chegou até nós (programa de afiliados), 60 dias

4,6

País e idioma

Cada país tem o seu próprio site, com os preços e o IVA desse país.

Ver

Ler um bounce

Módulo 6: Mensagens de erro e resolução de problemas · Tempo de leitura: 11 minutos

Objetivo de aprendizagem: No final desta lição, será capaz de analisar uma mensagem de erro sobre um email não entregue (um bounce): que servidor deu o erro, para que endereço, o que significa o código, e se é temporário ou definitivo.

Conceitos-chave: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, código de resposta (RFC 5321), código de estado alargado X.Y.Z (RFC 3463), mensagem de adiamento, backscatter

O que é um bounce?

Se um servidor de correio não conseguir entregar um email, envia uma mensagem de volta ao remetente. A isto chama-se um bounce (ou: non-delivery report, NDR). Vem de um remetente como Mailer-Daemon@..., MAILER-DAEMON ou Mail Delivery System, com um assunto como:

  • Mail delivery failed: returning message to sender
  • Undelivered Mail Returned to Sender
  • Delivery Status Notification (Failure)
  • Warning: message ... delayed 24 hours (isto não é um bounce mas sim uma mensagem de adiamento, ver mais adiante)

Muitas pessoas deitam fora estas mensagens de imediato, ou assustam-se com o texto em inglês. É uma pena, porque um bounce quase sempre diz exatamente o que correu mal. Só precisa de saber onde olhar.

Um bounce tem sempre um remetente de envelope vazio (Return-Path: <>). Isto é intencional: um bounce sobre um bounce poderia, caso contrário, criar um ciclo infinito (RFC 5321).

Quem recusou o email?

Um email passa por pelo menos dois servidores: o do seu fornecedor e o do destinatário. Um bounce pode surgir em duas situações:

  1. O servidor de destino recusa o email durante a conversa SMTP (lição 1.2), por exemplo após RCPT TO (endereço desconhecido) ou após o conteúdo (spam ou DMARC). O seu próprio servidor recebe essa recusa e cria um bounce para si. O erro vem então do destinatário, o bounce do seu próprio servidor.
  2. O seu próprio servidor desiste, por exemplo porque o destinatário esteve inacessível durante dias, ou porque atingiu um limite próprio.

Esta distinção é importante: no primeiro caso, precisa de saber o que desagradou ao destinatário; no segundo caso, o problema está mais perto de si.

A parte legível

No topo encontra um texto destinado a pessoas. Varia consoante o software de correio, mas quase sempre contém as mesmas informações:

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  pieter.devries@example.net
    host mx1.example.net [198.51.100.20]
    SMTP error from remote mail server after RCPT TO:<pieter.devries@example.net>:
    550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknown

Leia-o assim:

ParteO que significa
permanent errorDefinitivo: o servidor não volta a tentar
pieter.devries@example.netO endereço para o qual correu mal (com vários destinatários: apenas este)
host mx1.example.net [198.51.100.20]O servidor do destinatário com o qual se estabeleceu a conversa
SMTP error from remote mail serverO erro veio do destinatário, não do seu próprio servidor
after RCPT TOEm que momento da conversa: aqui, ao indicar o destinatário
550 5.1.1 ... User unknownO código e o texto do destinatário: este endereço não existe

A parte para máquinas: o DSN

Por baixo do texto encontra-se geralmente uma parte destinada a programas, a delivery status notification (RFC 3464). Tem sempre a mesma estrutura, o que facilita a leitura:

Reporting-MTA: dns; mail.hosting.example

Action: failed
Final-Recipient: rfc822;pieter.devries@example.net
Status: 5.1.1
Remote-MTA: dns; mx1.example.net
Diagnostic-Code: smtp; 550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknown
CampoSignificado
Reporting-MTAO servidor que escreveu este bounce (geralmente o seu próprio servidor de envio)
Final-RecipientO endereço em questão
Actionfailed (falhou, definitivo), delayed (adiado, ainda vai tentar), por vezes delivered ou relayed
StatusO código de estado alargado, ver abaixo
Remote-MTAO servidor do outro lado que deu a resposta
Diagnostic-CodeA resposta literal desse servidor: aqui encontra o verdadeiro motivo
Will-Retry-UntilEm delayed: até quando o servidor continuará a tentar

Totalmente em baixo encontra o email original ou apenas os seus cabeçalhos. Aí pode ver qual foi o email, e que endereço de remetente e que Return-Path foram utilizados. Isso é por vezes a chave para a solução (ver o caso de DMARC no exercício).

Ler os códigos

Existem dois tipos de códigos, e geralmente ambos aparecem num bounce.

O código de resposta (RFC 5321): três algarismos, como 550 ou 451. O primeiro algarismo é o mais importante:

Começa porSignificadoO que o servidor de envio faz
2SucessoNada mais, o email foi aceite
4Erro temporárioGuarda o email e volta a tentar mais tarde
5Erro definitivoDesiste e envia um bounce

O código de estado alargado (RFC 3463): três números separados por pontos, como 5.1.1 ou 4.7.500. O primeiro número é novamente 2, 4 ou 5. O segundo número indica onde está o problema:

Segundo númeroAssuntoExemplos
X.1Endereço5.1.1 o endereço não existe, 5.1.2 o domínio não existe
X.2Caixa de correio5.2.2 / 4.2.2 caixa de correio cheia, 5.2.1 caixa de correio desativada
X.3Sistema de correio5.3.4 mensagem demasiado grande
X.4Rede e encaminhamento4.4.1 sem resposta, 4.4.7 demasiado tempo na fila, 5.4.4 sem rota
X.5Protocolo5.5.1 comando inválido
X.6Conteúdo5.6.0 problema com o conteúdo ou a codificação
X.7Segurança e política5.7.1 recusado, 5.7.26 não autenticado (Gmail), 5.7.509 DMARC (Microsoft)

O terceiro número é o motivo preciso. Os grandes destinatários utilizam os seus próprios números para isso, como o Gmail com 5.7.25 a 5.7.30 e a Microsoft com 4.7.500 e 5.7.509. Estes constam da respetiva documentação (lição 6.2).

Regra prática: o código que começa por 5 e tem um 7 no meio (5.7.x) é quase sempre uma questão de política: autenticação, reputação ou spam. Reenviar não ajuda nesse caso; é preciso alterar algo.

Adiado ainda não é falhado

Perante um erro temporário (4xx), o seu servidor guarda o email e volta a tentar. A RFC 5321 recomenda persistir durante pelo menos quatro a cinco dias, com pelo menos meia hora entre tentativas. Muitos servidores enviam, ao fim de algumas horas ou de um dia, uma mensagem de adiamento:

Action: delayed
Status: 4.7.500
Diagnostic-Code: smtp; 451 4.7.500 Server busy. Please try again later from [203.0.113.25].
Will-Retry-Until: Thu, 12 Nov 2026 08:58:40 +0100

Isto significa: não reenviar, o servidor ainda vai tentar por si próprio. Se mesmo assim reenviar, o destinatário poderá acabar por recebê-lo duas vezes. Se finalmente não resultar antes de Will-Retry-Until, surgirá ainda assim um bounce real, frequentemente com 4.4.7 (mensagem expirada na fila).

Bounces falsos: backscatter

Recebeu subitamente dezenas de bounces de emails que nunca enviou? Verifique então o email original em baixo. Se lá aparecer um remetente do seu domínio, mas um servidor e um texto que não reconhece, então um spammer utilizou o seu endereço como remetente. Os destinatários enviam os seus bounces para si. A isto chama-se backscatter.

A sua caixa de correio normalmente não foi pirateada nesse caso (ver a lição 3.4 para a diferença). O que ajuda: uma política DMARC que se torna gradualmente mais rigorosa (lição 4.4), de modo a que os destinatários recusem o email falsificado antes de se gerar um bounce. Verifique no entanto os seus emails enviados e junto do seu fornecedor se não foi realmente enviado nada a partir da sua caixa de correio.

Na prática: é assim que se apresenta

No WebOké, além do bounce, também pode ver em Rastreamento de e-mails no DirectAdmin o que o servidor fez com uma mensagem: Entregue, Adiado ou Falha, com a resposta do servidor de destino. Outros painéis têm frequentemente um registo de correio ou "rastreamento de mensagens" semelhante; no Microsoft 365, por exemplo, chama-se rastreamento de mensagens. É útil verificar primeiro aí se não recebeu nenhum bounce, ou se alguém diz que o seu email não chegou.

Resumo

  • Um bounce vem do Mailer-Daemon e tem um Return-Path vazio. Leia-o, geralmente diz exatamente o que correu mal.
  • Verifique primeiro quem deu o erro (SMTP error from remote mail server = o destinatário) e para que endereço.
  • Na parte para máquinas: Action, Status, Remote-MTA e, sobretudo, Diagnostic-Code.
  • Primeiro algarismo: 4 = temporário, 5 = definitivo. Segundo número: 1 endereço, 2 caixa de correio, 3 sistema, 4 encaminhamento, 5 protocolo, 6 conteúdo, 7 política.
  • Mensagem de adiamento (delayed): não reenviar. Bounces de emails que não enviou: backscatter.

Quiz

1. Num bounce consta Action: delayed e Status: 4.4.1. O que faz?



2. Num bounce consta SMTP error from remote mail server after RCPT TO: ... 550 5.1.1 User unknown. Quem deu o erro e o que se passa?



3. Onde está o problema perante um código de estado alargado que começa por 5.7?



4. Recebe subitamente muitos bounces de emails que nunca enviou, com o seu endereço como remetente. Qual é a explicação mais provável?



5. Onde num bounce está a resposta literal do servidor de destino?



Exercício

Exercício Z6.1: Analisar três bounces. Recebe três bounces de exemplo (bounce-1.txt, bounce-2.txt e bounce-3.txt). Preencha, para cada bounce: o endereço para o qual correu mal, o servidor que deu o erro (Remote-MTA), o código de estado, se é temporário ou definitivo, e o que o remetente deve fazer (escolha de uma lista). O programa verifica com uma chave fixa e dá explicação por cada campo.

Exercício Z6.1: Analisar três bounces

Ficheiro deste exercício: bounce-1.txt, bounce-2.txt, bounce-3.txt

Abra os três exemplos de bounce e preencha, para cada um, as cinco perguntas. O que deve fazer o remetente? A. Nada, aguardar: o servidor tenta novamente. B. Verificar o endereço ou pedir ao destinatário o endereço correto por outra via. C. Pedir ao serviço que enviou para enviar com um SPF/DKIM alinhado (ou via SMTP com autenticação), e não reduzir a política DMARC. D. Enviar um anexo mais pequeno. E. Alterar a palavra-passe. F. Pedir ao destinatário para libertar espaço.

















O que preenche e o que encontramos não ficam guardados. O seu navegador memoriza as suas respostas e se concluiu o exercício com sucesso. Se tiver sessão iniciada, guardamos apenas que concluiu o exercício (quase) com sucesso em Os meus cursos; aí também o pode eliminar.

Para saber mais

Os passos descritos nestes artigos aplicam-se aos painéis do WebOké; noutros fornecedores o funcionamento é semelhante.

Um momento…

Configurar os seus domínios

Para cada domínio, defina os servidores de nomes, a ligação ao seu alojamento e quem fica como titular.

A carregar os seus domínios…