Rishidocs

Diagnosticar e-mails de recuperação

4 min de leituraAtualizado há 13 horas

Quando um lojista reporta "os e-mails não estão saindo", quase sempre é uma de quatro coisas: SMTP do site, WP-Cron travado, cadência desativada/pausada, ou job individual com erro. A aba Debug (em WooCommerce → Carrinhos Rishi) reúne todos esses sinais em uma tela só.

Onde olhar primeiro

A página de Carrinhos Rishi tem quatro abas. Pra investigar envios:

Aba Pra quê
E-mails → Sequência Confirmar que existe etapa ativa e o sistema não está pausado
E-mails → Agendados Lista os jobs pendentes que estão realmente no cron (não no banco)
E-mails → Logs Histórico de envios, falhas e cancelamentos com cupom e mensagem de erro
Debug Saúde do cron, estatísticas, jobs travados e ambiente

Os Logs já cobrem o caso "deveria ter saído e não saiu" pra um carrinho específico. A aba Debug cobre o caso "nada está saindo" — quando o problema é estrutural.

Anatomia da aba Debug

WP-Cron

Mostra três sinais:

  • DISABLE_WP_CRON — Se aparecer "Ativo", o WP-Cron padrão foi desligado pelo wp-config.php. Nesse caso o site precisa ter um cron de sistema (crontab) chamando o wp-cron.php por fora. Se não tem, nenhum job agendado roda.
  • Próximo monitor — Quando o rishi_abandoned_carts_email_monitor vai rodar de novo. Esse hook executa a cada 10 minutos e re-anexa jobs órfãos. Se aparece em vermelho ("atrasado"), o cron parou.
  • Próximo envio na fila — Próximo job individual de e-mail no cron. Se está "atrasado X horas", o mesmo problema.
Atrasos pequenos são normais

WP-Cron não é cron de verdade — ele dispara nos pageviews. Em sites com pouco tráfego, atrasos de poucos minutos são esperados. Vermelho só indica algo errado quando o atraso passa de algumas horas.

Estatísticas de envio

Tabela cruzando status × janela de tempo (7 e 30 dias):

  • Enviados / Falhas / Cancelados — contagem absoluta no período.
  • Taxa de falhafalhas / (enviados + falhas). Acima de 10% = SMTP duvidoso.
  • Tempo médio até envio — quanto tempo entre o scheduled_for e o sent_at real. Acima de poucos minutos = cron lento.
  • Pendentes (estado atual) — quantos jobs estão na fila aguardando.

Jobs travados

Lista jobs que:

  1. Estão como pending,
  2. Tinham horário de envio há mais de 10 minutos,
  3. E não têm evento correspondente no WP-Cron.

O monitor (que roda a cada 10 min) deveria ter reanexado esses jobs sozinho. Se a lista está crescendo, o monitor não está rodando — confirme em WP-Cron → Próximo monitor acima.

Falhas recentes

Os últimos 10 jobs marcados como failed (esgotaram 3 tentativas). Se a maioria mostra a mesma mensagem de erro, é configuração ou SMTP. Se as mensagens variam, é instabilidade externa.

Mensagens comuns:

Mensagem Causa provável
Falha ao enviar o e-mail. SMTP do site rejeitou. Cheque plugin de SMTP, credenciais, limite do provedor.
Carrinho sem e-mail valido para envio. O carrinho não tinha e-mail capturado. Job foi gerado por engano e cancelado.
Configuracao do e-mail invalida. Snapshot de campanha corrompido. Reabrir a aba Sequência e salvar de novo regenera.
Coupon code already exists (ou similar) Modo de cupom dinâmico colidiu com cupom existente. Verifique prefixos.

Ambiente

Snapshot que o suporte costuma pedir: versão do plugin, PHP, WordPress, WooCommerce, flags de debug e timezone. Útil pra colar em ticket.

Roteiro de diagnóstico

  1. Aba Debug → WP-Cron: tudo verde? Se não, o problema é cron — nada do plugin vai funcionar.
  2. Aba Debug → Estatísticas: tem envios nos últimos 7 dias? Se zero, ver passo 3. Se tem mas com taxa de falha alta, ver passo 4.
  3. Aba E-mails → Sequência: existe etapa ativa? O toggle "Pausar envios" está desligado?
  4. Aba Debug → Falhas recentes: as mensagens são consistentes? Se sim, é SMTP ou config. Se não, é instabilidade.
  5. Aba E-mails → Logs: filtra pelo carrinho específico que o cliente reportou. O histórico mostra o que aconteceu com aquele job.

Quando o problema não é do plugin

A aba Debug não testa SMTP — porque o objetivo do plugin é entregar o e-mail pro WordPress, não garantir que o servidor de e-mail aceite. Se a aba Logs mostra sent mas o cliente nunca recebeu:

  • Cheque o plugin de SMTP (WP Mail SMTP, FluentSMTP).
  • Veja se o domínio de envio tem SPF/DKIM configurado.
  • Confirme que o destinatário não está em spam ou bloqueio.

Esses casos saem do escopo do módulo de carrinho abandonado.

Foi útil?