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 owp-cron.phppor fora. Se não tem, nenhum job agendado roda. - Próximo monitor — Quando o
rishi_abandoned_carts_email_monitorvai 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.
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 falha —
falhas / (enviados + falhas). Acima de 10% = SMTP duvidoso. - Tempo médio até envio — quanto tempo entre o
scheduled_fore osent_atreal. Acima de poucos minutos = cron lento. - Pendentes (estado atual) — quantos jobs estão na fila aguardando.
Jobs travados
Lista jobs que:
- Estão como
pending, - Tinham horário de envio há mais de 10 minutos,
- 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
- Aba Debug → WP-Cron: tudo verde? Se não, o problema é cron — nada do plugin vai funcionar.
- 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.
- Aba E-mails → Sequência: existe etapa ativa? O toggle "Pausar envios" está desligado?
- Aba Debug → Falhas recentes: as mensagens são consistentes? Se sim, é SMTP ou config. Se não, é instabilidade.
- 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.