Lista de email saudável: double opt-in + cancelamento 1 clique (RFC 8058)
Uma lista de email "limpa" não se mede pelo número de subscritores, mas pelo que acontece quando carregas em Enviar. Se 2 % dos teus envios fazem bounce e o Gmail te manda para o spam ao fim de três campanhas, o problema quase nunca é o teu conteúdo: é a tua recolha e a tua gestão de cancelamentos. Aqui ficam os dois blocos que mudam tudo, e como os montar de forma concreta.
Double opt-in: confirmar antes de adicionar
O single opt-in adiciona o endereço assim que o formulário é submetido. O problema: herdas as gralhas (`gmial.com`), os endereços descartáveis, os bots que preenchem os teus formulários e as inscrições maliciosas (alguém inscreve o endereço de um terceiro). Todos esses endereços apodrecem a tua reputação: bounces, spam traps, queixas. O double opt-in acrescenta um passo: envias um email de confirmação com uma ligação única e só inscreves o subscritor se ele clicar.
- Submissão do formulário → crias um registo no estado `pending` (não `confirmed`).
- Geras um token assinado de vida curta (24-48 h) e envia-lo na ligação de confirmação.
- Ao clicar, verificas o token, passas o estado a `confirmed` e registas a data e hora do consentimento (data, IP, user-agent).
- Sem clique dentro do prazo → o registo `pending` é purgado. Nunca recebeu uma única newsletter.
Benefício mensurável: um email de confirmação enviado para `gmial.com` faz bounce antes de entrar na tua lista. Um endereço falso nunca clica. Transformas a tua porta de entrada de inscrição num filtro de qualidade gratuito. O custo: "perdes" 10 a 30 % de inscritos que não confirmam — mas são precisamente esses que teriam afundado a tua taxa de abertura e as tuas queixas.
Cancelamento em 1 clique: List-Unsubscribe + RFC 8058
Desde fevereiro de 2024, o Gmail e o Yahoo exigem-no a qualquer remetente em massa (~5000 mensagens/dia): um mecanismo de cancelamento em um único clique, sem página intermédia, sem login. Já não é uma cortesia, é uma condição de entregabilidade. O `List-Unsubscribe` (RFC 2369) lista os métodos; o `List-Unsubscribe-Post` (RFC 8058) declara que o cliente pode enviar um POST automático — é esse o verdadeiro "1 clique": o botão nativo do Gmail/Apple Mail dispara um POST sem abrir o teu site.
List-Unsubscribe: <https://zylior.com/u/unsub?t=SIGNED_TOKEN>, <mailto:unsub@zylior.com?subject=unsub-SIGNED_TOKEN>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
- Coloca o URL HTTPS em primeiro, o `mailto:` em segundo (fallback). Ambos visam o subscritor através de um token assinado — nunca o email em texto simples no URL.
- O teu endpoint tem de aceitar um POST com o corpo `List-Unsubscribe=One-Click` e cancelar a subscrição sem confirmação nem sessão iniciada. Um GET pode mostrar uma página de "feito", mas o POST age de imediato.
- Responde `200` rapidamente e trata o cancelamento de forma idempotente: o cliente pode reenviar o POST.
- Mantém também uma ligação de cancelamento visível no corpo do email — a RFC não substitui a obrigação legal de uma ligação clicável.
Morada postal e remoção com âmbito
Primeiro, a morada postal física: o CAN-SPAM impõe-na para os envios comerciais, e a sua ausência é um sinal negativo para os filtros antispam. Coloca-a no rodapé, ao lado da ligação de cancelamento — um apartado ou a morada da empresa basta. Depois, a remoção com âmbito: em multi-tenant, um subscritor pode existir em vários contextos (newsletter, notificações de produto, onboarding de um tenant). Um cancelamento deve retirar o subscritor do âmbito certo, não o eliminar globalmente nem o deixar nas outras listas por engano.
- Modela o consentimento pelo par `(subscriber, list_id)` ou `(subscriber, tenant_id, purpose)`, não por um simples booleano no subscritor.
- O token de cancelamento tem de codificar qual lista visa. Um clique a partir da newsletter não deve cortar os emails transacionais (faturas, redefinições de palavra-passe).
- Distingue cancelamento de marketing e eliminação de conta: o `mailto:` de um clique nunca deve eliminar a conta.
- Conserva o histórico de cancelamentos (quem, quando, qual lista) para nunca voltares a inscrever alguém através de uma importação descuidada.
Porque é que isto protege a tua entregabilidade
Os fornecedores (Gmail, Microsoft, Yahoo) classificam os remetentes com base em sinais concretos: taxa de queixas (aponta para < 0,1 %, alerta vermelho acima de 0,3 %), taxa de bounce, presença de spam traps e facilidade de cancelamento. O double opt-in esmaga os bounces e as traps na origem; o 1 clique transforma os "marco como spam" (que te saem caro) em cancelamentos limpos (que não te custam nada). Proteges a reputação do teu domínio de envio e, portanto, a caixa de entrada de todos os teus emails futuros — incluindo os transacionais.
Na prática: monta o double opt-in já hoje no teu formulário (estado `pending` + token + purga), acrescenta os dois cabeçalhos `List-Unsubscribe` com um endpoint POST de um clique testado com curl, cola a tua morada postal no rodapé e modela o consentimento por lista em vez de por subscritor. Estas quatro mudanças não exigem uma reformulação — umas horas de desenvolvimento — e são elas que decidem se acabas na caixa de entrada ou no separador Promoções. Começa pela que mais te falta.
A newsletter
Ao subscreveres aceitas receber a newsletter da Zylior. Cancelamento em 1 clique em cada email.