Ir para o conteúdo principal

Cancelamento de subscrição num clique no Gmail/Yahoo: o que muda com a RFC 8058 e como implementar

Por CaptainDNS
Publicado em 15 de dezembro de 2025

Esquema: botão "Cancelar subscrição" no Gmail acionando um POST RFC 8058 para um endpoint de opt-out
TL;DR
  • Gmail e Yahoo esperam um cancelamento de subscrição de um clique acionado por headers, não apenas um link no rodapé.
  • O par obrigatório: List-Unsubscribe (com uma URL HTTPS) + List-Unsubscribe-Post: List-Unsubscribe=One-Click.
  • O fornecedor de email dispara um HTTP POST para o seu endpoint: deve cancelar a subscrição sem etapa extra.
  • Uma implementação frágil (URL sem HTTPS, redireções, página de confirmação, endpoint que ignora o POST) gera reclamações de spam... e prejudica a entregabilidade.

Contexto: o cancelamento de subscrição precisa de funcionar na interface

O link de cancelamento de subscrição no rodapé já não basta.

O que Gmail e Yahoo impulsionam é um mecanismo padronizado que as suas interfaces podem acionar sem mandar o utilizador para uma página externa. Resultado: um botão "Cancelar subscrição" mais visível, mais utilizado, e portanto mais opt-outs... mesmo se a sua implementação não estiver pronta.

Se envia marketing, newsletters ou mensagens "subscribed", o tema deixou de ser opcional: é uma exigência de conformidade.

RFC 8058: o que o padrão resolve de facto

O header List-Unsubscribe existe há muito tempo. Problema: alguns sistemas (antispam, antivírus, pré-visualizações) podem pré-carregar as URLs e disparar cancelamentos de subscrição por acidente.

A RFC 8058 adiciona um sinal claro: "este unsubscribe é one-click e deve passar por um POST". A ideia é simples:

  • GET: não deve disparar um cancelamento de subscrição silencioso (no máximo, uma página informativa).
  • POST: dispara o cancelamento de subscrição efetivo.

Formato esperado: os dois headers indispensáveis

Aqui está o mínimo viável nos headers:

    List-Unsubscribe: </unsubscribe/opaque-token>
    List-Unsubscribe-Post: List-Unsubscribe=One-Click

Pontos de atenção:

  • A URL deve ser HTTPS.
  • A URL deve estar entre os sinais <...>.
  • Evite URLs "frágeis" (sessões, cookies, dependência de JavaScript).
  • Mantenha o link de cancelamento de subscrição no conteúdo (rodapé), mas não conte com ele para a conformidade "one-click".

Lado servidor: como é a requisição "one-click"

Quando o utilizador clica em "Cancelar subscrição" no Gmail/Yahoo, o seu servidor normalmente recebe:

    POST /unsubscribe/opaque-token HTTP/1.1
    Host: captaindns.com
    Content-Type: application/x-www-form-urlencoded

    List-Unsubscribe=One-Click

O que o seu endpoint deve fazer:

  • validar o token (destinatário + lista / segmento);
  • registrar o opt-out (idempotente: duas chamadas = mesmo resultado);
  • responder 200 OK rapidamente, sem redirecionamento e sem fluxo adicional.

Para saber
Se o seu endpoint exibe uma página de confirmação ou exige outro clique, perde justamente a experiência "de um clique" esperada pelos fornecedores.

DKIM: o detalhe que (quase sempre) quebra tudo

Esse mecanismo depende de headers. Se a sua cadeia de envio reescreve os headers, ou se a sua assinatura DKIM não se mantém, cria o cenário clássico:

  • o email chega,
  • o Gmail por vezes mostra a opção,
  • mas os sinais de conformidade ficam inconsistentes.

Na prática: assine corretamente, alinhe os seus domínios e evite "middlewares" que mexem nos headers depois da assinatura.

Checklist de conformidade

ItemVerificaçãoFerramenta recomendada
List-Unsubscribe1 URL HTTPS, dentro de <...>CaptainDNS → Analisador de cabeçalhos de email
List-Unsubscribe-PostValor List-Unsubscribe=One-ClickCaptainDNS → Analisador de cabeçalhos de email
EndpointAceita POST, cancela a subscrição sem atritoLogs da aplicação + testes manuais
SPF / DKIM / DMARCAutenticação alinhadaCaptainDNS → SPF / DKIM / DMARC Check
RedirecionamentosNada de cadeias de redirecionamentocurl -I na URL
TempoOpt-out tratado rapidamente (operacional)Monitorização / alertas

Erros comuns a evitar

  • Colocar apenas mailto: em List-Unsubscribe e achar que basta.
  • Usar uma URL sem HTTPS, ou uma URL que depende de cookie.
  • Disparar o cancelamento de subscrição em um GET (pré-carregamento = cancelamentos de subscrição fantasma).
  • Responder com redirecionamento para uma página de "preferências" obrigatória.
  • Esquecer a idempotência (POST duplo = erros ou reinscrições involuntárias).

O "one-click unsubscribe" não é firula: é uma alavanca direta para reduzir reclamações de spam e um marcador de maturidade técnica.

Se o seu cancelamento de subscrição num clique estiver conforme (headers, endpoint POST, sem atrito), ganha em dois pontos: menos denúncias de spam e uma entregabilidade mais estável, mesmo quando o Gmail endurece os controlos.

FAQ

É preciso remover o link de cancelamento de subscrição do rodapé?

Não. Mantenha um link visível na mensagem (rodapé). O "one-click" via headers é um mecanismo para as interfaces do Gmail/Yahoo, não um substituto do link clássico para o utilizador.

Posso redirecionar para uma página de preferências em vez de cancelar a subscrição?

Para o fluxo "one-click", evite qualquer ecrã intermediário. O seu endpoint deve processar o POST e aplicar o opt-out sem pedir uma ação adicional.

Isso vale apenas para campanhas de marketing?

É especialmente crítico para marketing e mensagens "subscribed". Em emails puramente transacionais, a exigência é menos rígida, mas misturar fluxos (marketing + transacional no mesmo domínio) continua a ser má ideia para a reputação.

Como testar rápido?

Envie uma mensagem de teste para uma caixa Gmail, abra o email, use a opção "Cancelar subscrição" e depois verifique no servidor se o POST chega e se o endereço fica em opt-out (e não recebe as próximas campanhas).

Glossário

List-Unsubscribe

Header de email que expõe um mecanismo de cancelamento de subscrição (URL e/ou mailto) utilizável pelos clientes de email.

List-Unsubscribe-Post

Extensão que indica que o cancelamento de subscrição "one-click" deve ser processado via requisição HTTP POST.

RFC 8058

Padrão IETF que descreve o sinal "one-click" para List-Unsubscribe, pensado para evitar cancelamentos de subscrição acidentais devido ao pré-carregamento de URLs.

Remetente massivo

Remetente de alto volume (newsletters, marketing, notificações) para o qual os fornecedores aplicam controlos mais estritos de conformidade e reputação.

📚 Guias Gmail relacionados

Artigos relacionados