Solução de problemas de notificações de e-mail do WP Cerber
English version: Troubleshooting WP Cerber Email Notifications
Se uma notificação do WP Cerber não chegar, o diagnóstico de e-mail pode ajudar a descobrir o que aconteceu quando o plugin tentou enviá-la. Isso é especialmente útil quando e-mails de teste chegam, mas alertas de segurança ou relatórios agendados não.
O recurso de diagnóstico de e-mail registra as tentativas de envio de e-mail do WP Cerber. Ele não rastreia mensagens de outros plugins do WordPress nem confirma se uma mensagem chegou à caixa de entrada do destinatário. Ativar o diagnóstico também não altera suas configurações de entrega de e-mail nem remove os limites de notificação.
Antes de começar
Verifique a notificação afetada
Confirme se a notificação está ativada e se os destinatários estão corretos. Para um alerta de atividade, verifique as condições, o canal de e-mail, a data de expiração e o limite de notificações. Para notificações de bloqueio, verifique o limite de bloqueio configurado e o limite de alertas por hora. Um evento de segurança registrado nem sempre exige o envio de um e-mail.
Verifique se algum plugin alterou sua pasta de uploads.
Verifique primeiro se algum plugin, tema ou personalização controla sua pasta de uploads local. Uma configuração que permite escolher essa pasta é um motivo para verificar a compatibilidade. Algumas configurações podem fazer com que o WP Cerber perca o controle do seu registro de diagnóstico e quarentena, deixando arquivos no disco, mas indisponíveis pelo painel de controle. Se você usa esse tipo de configuração ou não tem certeza, desative o envio de diagnósticos por e-mail.
Uma localização fixa já definida através da opção
UPLOADSnowp-config.phpou a opçãoupload_pathdo WordPress não causa esse problema por si só. Outro plugin ainda pode sobrescrevê-la.
1. Ative o diagnóstico de e-mail
Após concluir a verificação da pasta de uploads acima, salve uma cópia do arquivo wp-config.php do seu site. Adicione esta linha dentro da seção PHP existente, acima da linha que carrega wp-settings.php :
define ( 'CERBER_MAIL_DEBUG' , true );
Se o arquivo já define CERBER_MAIL_DEBUG , altere seu valor para true em vez de adicionar outra definição.
2. Enviar uma notificação de teste
Abra as configurações de notificações do WP Cerber e use a opção "Clique para enviar teste" ao lado de "Notificação de bloqueio" . Anote o horário e se o e-mail de teste foi recebido. Caso não tenha sido recebido, verifique a caixa de entrada do e-mail, incluindo a pasta de spam, e anote qualquer erro exibido pelo WP Cerber.
Em seguida, colete os registros da notificação que está realmente faltando. Um teste bem-sucedido do painel não confirma se um alerta de atividade atendeu às suas condições, se um relatório agendado foi executado ou se uma notificação criada anteriormente em uma solicitação seguiu o mesmo caminho de envio.
Para alertas intermitentes, mantenha o diagnóstico ativado apenas pelo tempo necessário para observar o próximo evento relevante. Anote a hora e o seu fuso horário para que possa encontrar as entradas correspondentes. Evite alterar as configurações de e-mail entre o teste e a notificação afetada, pois isso dificulta a comparação dos resultados.
Você não precisa atacar seu site nem se bloquear deliberadamente para gerar um registro. Se não houver uma maneira segura de reproduzir o evento, espere que ele ocorra naturalmente.
3. Analise o registro de diagnóstico.
Acesse WP Cerber → Ferramentas → Registro de diagnóstico e procure por entradas marcadas com [MAIL] nos horários em que você registrou o teste e a notificação afetada. Use a opção "Baixar registro" se precisar de um arquivo ou copie as entradas relevantes como texto. O formato de texto preserva os registros completos e é mais fácil de revisar do que uma captura de tela de uma longa linha.
Cada entrada começa com explain , um resumo de uma frase da tentativa de envio em linguagem simples. Os campos técnicos que se seguem são usados pela equipe de suporte para investigar o problema.
Os exemplos abaixo são ilustrativos. Eles mostram a parte [MAIL] de cada entrada, sem o prefixo de data e hora adicionado pelo Log de Diagnóstico.
Exemplo: um teste de painel de controle
[MAIL] explain="WordPress reported success for recipient 1 of 1 with WP Cerber SMTP disabled." ts=2026-11-06T15:20:00Z rid=EXAMPLETEST01 type=lockout dispatch=direct cwd=inside_abspath pwd=none cwd_send=inside_abspath pwd_send=none recipient=1 recipients=1 attempt=initial smtp=disabled result=ok
Exemplo: uma notificação de bloqueio enviada quando uma solicitação é concluída.
[MAIL] explain="WordPress reported success for recipient 1 of 1 with WP Cerber SMTP disabled." ts=2026-11-06T15:25:00Z rid=EXAMPLEALERT02 type=lockout event=708 dispatch=shutdown cwd=abspath pwd=none cwd_send=root pwd_send=none recipient=1 recipients=1 attempt=initial smtp=disabled result=ok
Ambas as chamadas de exemplo retornaram sucesso. Seus diferentes caminhos de envio e categorias de diretório de trabalho podem ajudar a equipe de suporte a comparar o teste com a notificação real, mas não estabelecem por que uma mensagem não chegou.
Use o campo ts ao comparar horários. Ele está sempre em UTC, indicado pelo Z final. O prefixo de data e hora separado do Log de Diagnóstico pode usar um fuso horário diferente.
4. Compreenda o resultado
result=ok não confirma a entrega ao destinatário. Significa que a função de e-mail do WordPress retornou sucesso para aquela chamada. O WordPress explica essa distinção na documentação da função de e-mail . O mesmo se aplica à mensagem "O WordPress relatou sucesso" no texto explain , e uma tentativa falha no explain não identifica a causa da falha.
| O que você vê | O que isso te diz | O que fazer a seguir |
|---|---|---|
result=error |
Essa chamada retornou uma falha. | Salve o registro e qualquer erro de e-mail relacionado exibido pelo WP Cerber. |
result=ok , mas a mensagem está faltando. |
A função de envio foi bem-sucedida. O recebimento na caixa de entrada ainda não foi confirmado. | Peça ao provedor que envia os e-mails do seu site (seu host ou serviço SMTP) para verificar os registros de envio por volta ts (UTC). Forneça a eles o endereço do destinatário pretendido em particular e pergunte se eles receberam a tentativa e o que aconteceu em seguida. |
| O teste chega, mas a notificação afetada não. | Os dois cenários têm resultados diferentes. | Reúna os dois conjuntos de registros e identifique qual notificação está faltando. |
Nenhuma entrada [MAIL] correspondente |
O registro não contém nenhum resultado para a tentativa esperada. | Confirme a versão, o tempo de ativação, as condições de notificação e os limites. Verifique se o teste do seu painel gera um registro. |
Várias entradas com a mesma rid |
Diversas gravações de chamadas pertencem à mesma solicitação. | Mantenha os registros juntos. Eles não representam necessariamente entregas duplicadas. |
Configurações ou limites de taxa podem impedir uma tentativa de envio. Um registro também pode estar ausente se o log não pôde ser gravado ou se a execução foi interrompida antes que a função de e-mail retornasse. A ausência de um registro não comprova que o provedor de hospedagem bloqueou a mensagem. Informe o suporte se um teste conhecido não gerar nenhum registro.
5. Desative o diagnóstico após coletar os registros.
Após capturar as tentativas relevantes, altere a definição existente para:
define ( 'CERBER_MAIL_DEBUG' , false );
Você também pode remover a linha que adicionou. Não adicione uma segunda definição. Se o suporte ajudou a estabelecer um caminho de armazenamento fixo para o seu site, mantenha essa configuração separada.
Isso impede a criação de novas entradas de diagnóstico por e-mail. Os registros existentes permanecem no Log de Diagnóstico. Salve o que você precisa antes de usar Limpar log , que limpa o log compartilhado, incluindo entradas de outros recursos do WP Cerber.
6. Compartilhe os detalhes relevantes com a equipe de suporte.
Escolha o canal para a sua versão:
- WP Cerber Professional: Abra um ticket privado no portal de suporte do WP Cerber .
- Versão gratuita: Inicie um tópico no fórum da comunidade WP Cerber .
Inclua os seguintes detalhes:
- Qual a sua versão do WP Cerber e a notificação que está faltando?
- Quando era esperado, incluindo o seu fuso horário.
- O teste do painel de instrumentos foi concluído com sucesso.
- As entradas
[MAIL]relevantes. - Quer você utilize as configurações SMTP do WP Cerber ou outro plugin de e-mail do WordPress.
Se o WP Cerber exibir um erro de e-mail, inclua-o em seu ticket privado. Em um tópico público, mencione que ocorreu um erro e evite publicar detalhes que identifiquem usuários ou contas.
Para notificações de segurança, uma entrada relacionada no Log de Atividades também pode ser útil. Compartilhe entradas do Log de Atividades de forma privada , pois elas podem conter endereços IP e nomes de usuário. Para encontrar a entrada, copie o rid do registro de e-mail, abra o Log de Atividades, clique em Mais , insira-o em ID da Solicitação e clique em Filtrar . Consulte O que é RID e como usá-lo .
As novas linhas [MAIL] descritas neste guia omitem endereços de e-mail, endereços IP, assuntos, corpos de mensagens, credenciais e caminhos brutos do sistema de arquivos. Você pode compartilhar essas linhas individuais em um tópico de fórum público. Copie apenas as linhas [MAIL] relevantes, sem as entradas de log ou capturas de tela adjacentes que incluam outros dados.
Os registros de diagnóstico completos podem conter entradas de outros recursos do WP Cerber e devem ser compartilhados de forma privada. Se você usa a versão gratuita e um membro da equipe solicitar uma entrada do registro de atividades ou um registro completo, pergunte a ele como enviá-lo de forma privada antes de compartilhá-lo. Não inclua senhas nem o arquivo wp-config.php completo. Compartilhe os endereços dos destinatários somente por meio de um canal privado, quando necessário.
Referência de campo
Você pode compartilhar os registros com o suporte sem decodificar todos os campos. Esta referência explica o contexto adicional caso queira analisá-la mais detalhadamente.
| Campo | Significado |
|---|---|
explain |
Um resumo de uma frase da tentativa, construído a partir dos campos recipient , recipients , attempt , smtp e result . Ele descreve o que a função de e-mail relatou e a decisão SMTP do WP Cerber, não se a mensagem foi entregue ou não. |
ts |
Horário UTC capturado imediatamente antes da chamada da função de e-mail. |
rid |
Identificador de requisição do WP Cerber, usado para conectar registros da mesma requisição. Não é um Message-ID de e-mail. |
type |
O tipo de notificação. Os valores comuns incluem lockout , send_alert , report , scan , generic e 2fa . Tipos não reconhecidos aparecem como other . |
event |
O motivo original do bloqueio ou o código de atividade, quando disponível. Não se trata de um código de erro de e-mail. |
dispatch |
Como a notificação chegou à função de e-mail. Veja a tabela abaixo. |
cwd / cwd_send |
Categorias do diretório de trabalho do PHP no momento em que a notificação foi preparada e imediatamente antes do envio do e-mail. |
pwd / pwd_send |
Categorias para a variável de ambiente PWD do servidor nesses mesmos dois pontos. Essa variável pode não estar definida ou ser diferente do diretório de trabalho real do PHP. |
recipient / recipients |
A posição do destinatário nesta notificação e o número de destinatários da notificação. Os endereços de e-mail não são registrados. |
attempt |
initial para a primeira chamada para um destinatário, ou retry quando o WP Cerber repete uma chamada com falha para o mesmo destinatário. O WP Cerber tenta novamente apenas quando sua configuração SMTP está ativada. |
smtp |
Decisão SMTP do WP Cerber para a chamada. Veja a tabela abaixo. |
result |
ok ou error , com base no valor retornado pela chamada de e-mail. |
O campo event é omitido quando nenhum código aplicável foi fornecido. Os testes do painel podem omiti-lo, mas a ausência de um event não identifica, por si só, uma mensagem de teste.
Envio de caminhos
dispatch |
Significado |
|---|---|
direct |
WP Cerber enviou a notificação sem adiá-la para nenhuma das etapas abaixo. |
plugins_loaded |
A notificação foi preparada com antecedência e enviada quando o WordPress atingiu o estágio plugins_loaded . |
shutdown |
A notificação foi preparada com antecedência e enviada por um callback assim que a requisição PHP foi concluída. Isso não significa que o servidor foi desligado ou que a requisição falhou. |
Esses valores descrevem o caminho de envio do WP Cerber. Eles não identificam um servidor SMTP nem descrevem a fila de entrega de um provedor de e-mail. Em particular, direct não informa se o SMTP foi usado.
decisões SMTP
smtp |
Significado |
|---|---|
enabled |
O WP Cerber aplica suas configurações SMTP à chamada. |
disabled |
O WP Cerber não aplica suas configurações SMTP porque elas estão desativadas ou exigem o WP Cerber Professional. |
bypassed |
As configurações SMTP estão ativadas, mas o WP Cerber as ignora para esta chamada após uma chamada anterior com falha na mesma solicitação. |
Este campo reflete apenas a configuração do WP Cerber. Outro plugin ainda pode alterar a forma como o WordPress envia a mensagem, portanto, enabled não comprova que o servidor SMTP configurado foi utilizado.
Categorias do diretório
O registro usa categorias em vez de registrar os caminhos reais.
| Valor | Significado |
|---|---|
root |
O diretório raiz do sistema de arquivos / . |
abspath |
O diretório de instalação do WordPress. |
inside_abspath |
Um diretório dentro da instalação do WordPress. |
outside_abspath |
Um diretório externo à instalação do WordPress. |
none |
O valor não estava disponível ou estava vazio. |
pwd=none e dispatch=shutdown não são erros por si só. Uma alteração como cwd=abspath seguida por cwd_send=root é uma evidência útil sobre o ambiente de envio, mas não comprova uma falha na entrega. Categorias correspondentes também não garantem caminhos correspondentes, e o snapshot before-call não mostra as alterações feitas dentro da função de e-mail ou seus hooks.
Em servidores com a restrição open_basedir do PHP, um caminho PWD que acessa o diretório do WordPress por meio de um link simbólico pode ser classificado como outside_abspath . O suporte técnico pode levar essa limitação em consideração ao revisar as entradas.
Por que uma única notificação pode gerar vários registros?
Cada chamada gravada tem seu próprio resultado. Vários destinatários ou um protocolo SMTP alternativo existente podem gerar mais de um registro para uma notificação. Uma única solicitação também pode gerar notificações diferentes.
Por exemplo, uma notificação com dois destinatários e um servidor SMTP inacessível pode gerar estes três registros, mostrados aqui com os campos técnicos omitidos:
[MAIL] explain="The email attempt for recipient 1 of 2 failed with WP Cerber SMTP enabled." ... recipient=1 recipients=2 attempt=initial smtp=enabled result=error
[MAIL] explain="WordPress reported success for the retry to recipient 1 of 2 without WP Cerber SMTP settings." ... recipient=1 recipients=2 attempt=retry smtp=bypassed result=ok
[MAIL] explain="WordPress reported success for recipient 2 of 2 without WP Cerber SMTP settings." ... recipient=2 recipients=2 attempt=initial smtp=bypassed result=ok
A tentativa de SMTP falhou, e ambas as chamadas subsequentes foram feitas sem as configurações de SMTP do WP Cerber. Nada aqui indica que o servidor SMTP se recuperou ou que alguma das mensagens chegou.
A numeração dos destinatários recomeça a cada notificação e os endereços de e-mail são omitidos propositalmente, portanto, a posição não indica qual endereço foi usado. Mantenha todas as entradas relacionadas ao relatar um problema, mesmo quando um error for seguido por um ok .
Problema conhecido: alterações na pasta de uploads local
Este problema afeta sites onde um plugin, tema ou personalização faz com que o WP Cerber veja pastas base de uploads locais diferentes durante as requisições iniciais e as requisições normais do painel de controle. Por exemplo, um plugin pode alterar essa pasta somente depois de ser carregado.
O WP Cerber usa o local de uploads para encontrar sua pasta de armazenamento compartilhado. Se a pasta existente não for encontrada no outro local, o WP Cerber pode criar uma nova pasta e perder o controle da antiga. Os arquivos antigos permanecem no disco, mas os arquivos em quarentena podem desaparecer da página de quarentena e ficar indisponíveis para restauração. Os registros de diagnóstico também podem acabar em pastas diferentes.
Uma localização fixa configurada através da opção UPLOADS no wp-config.php ou a opção upload_path não causa essa inconsistência na inicialização por si só. Um plugin ou personalização ainda pode sobrescrevê-la posteriormente. Da mesma forma, a configuração de pasta local de um plugin é um motivo para verificar seu funcionamento, e não uma prova de que o site está afetado. Estes são exemplos de configurações existentes, não instruções para alterar suas configurações de uploads.
Se a sua configuração puder ser afetada, desative o diagnóstico por e-mail e peça ajuda . Inclua o nome do plugin, tema ou personalização que controla o local de uploads.
Mantenha todas as pastas wp-cerber-* existentes e seus conteúdos no lugar. Não as mova, renomeie ou exclua, não altere as configurações do plugin de uploads nem tente usar um caminho de armazenamento aleatório. A configuração correta deve preservar a pasta que o WP Cerber já utiliza.
Se o diagnóstico já estiver ativado em um site afetado, desative-o enquanto o local de armazenamento estiver sendo verificado. Isso não restaura a conexão do WP Cerber com uma pasta anterior. Outras funções do WP Cerber ainda podem causar o problema de armazenamento.