O que faz
O WordPress entrega cada e-mail à função mail() do próprio servidor, que não faz autenticação. As caixas de correio tratam essa mensagem como suspeita e, quando ela é recusada, ninguém é avisado: wp_mail() retorna false, a página segue em frente, e a redefinição de senha ou a confirmação do pedido simplesmente desaparece.
O MevvMail substitui esse caminho. Ele envia por uma conexão autenticada que você configura, percorre uma lista de conexões em ordem de prioridade até que uma aceite a mensagem, tenta de novo as que falham e mostra o status de entrega de um pedido do WooCommerce na própria tela do pedido.
- Use quando
- Sua loja envia e-mails de pedido, de conta ou de fatura e você precisa responder “ele saiu?” com um registro, e não com um palpite.
- Ele não muda nada até você configurá-lo
- Sem nenhuma conexão definida, o filtro devolve o envio direto ao WordPress. Ativar o plugin nunca assume silenciosamente um caminho de e-mail que já funciona.
- Ele não é um serviço de envio
- O MevvMail não revende entrega e não tem cota própria. Você traz o seu próprio servidor SMTP ou a sua própria conta de provedor, e o plugin a utiliza.
Requisitos: WordPress 6.0 ou mais recente e PHP 8.1 ou mais recente. O WooCommerce é opcional — sem ele tudo funciona igual e apenas a caixa de pedido não aparece.
Instalação
- Instale o plugin gratuito MevvMail: envie o zip em Plugins → Adicionar novo ou copie o diretório
mevvmailpara/wp-content/plugins/. - Ative-o. Nada é assumido ainda.
- Abra MevvMail → Conexões e adicione a sua primeira conexão.
- Clique em Enviar e-mail de teste e confirme que a mensagem chega.
- Opcional, mas recomendado: adicione uma segunda conexão com prioridade menor, como reserva.
- Só se você quiser as telas do Pro: instale o MevvMail Pro como um segundo plugin e ative a sua licença MEVM em MevvMail → Licença.
Mantenha o plugin gratuito ativo quando o Pro estiver instalado. A entrega, o failover e o log ficam no plugin gratuito, de modo que uma licença vencida nunca impede a sua loja de enviar e-mails.
Conexões
Uma conexão é um caminho de saída do seu site. Há dez tipos disponíveis e todos eles estão no plugin gratuito, sem nenhum recurso retido e sem nenhum limite de envio imposto por nós.
Os campos da tela
- Nome
- O rótulo que você mesmo dá à conexão. É o que o log mostra na coluna Conexão, então escolha um nome que você reconheça às três da manhã.
- Provedor
- Escolha o tipo. O restante do formulário muda junto: o SMTP pede servidor, porta, criptografia e credenciais, enquanto um provedor de API pede uma chave e, no caso de Mailgun e SparkPost, uma região.
- Prioridade
- Um número. A cadeia é percorrida da prioridade mais baixa para cima, então a sua conexão principal recebe o menor número e a reserva, um número maior.
- Nome do remetente e endereço do remetente
- O remetente com que a mensagem sai. Use um endereço em um domínio cujos registros SPF, DKIM e DMARC apontem para o provedor por onde você envia; caso contrário, a caixa de correio continuará desconfiando de uma mensagem perfeitamente entregue.
- Forçar este remetente em todos os e-mails
- Desligado por padrão. Quando está ligado, esta conexão sobrescreve qualquer remetente que a mensagem trouxesse. Útil quando um plugin envia com um endereço que o seu provedor não autoriza; prejudicial se você realmente depende de remetentes diferentes por plugin.
- Ativa
- Uma conexão inativa é ignorada pela cadeia e permanece na tela. É assim que você tira um provedor de serviço sem perder as configurações dele.
Os segredos salvos nunca são impressos de volta no formulário. Os campos de senha e de chave de API mostram “Salvo — deixe em branco para manter”: digite um valor apenas quando for substituí-lo.
Teste antes de confiar
Enviar e-mail de teste envia uma mensagem real por aquela conexão e grava o resultado no log como qualquer outro envio. Se falhar, o log traz a resposta do próprio provedor — que quase sempre é a frase que diz o que está errado.
A cadeia e o que acontece quando ela falha
Quando o WordPress produz um e-mail, o MevvMail percorre as suas conexões em ordem de prioridade e para na primeira que aceitar a mensagem. Um provedor que está limitando a taxa, sem cota ou fora do ar custa a você uma tentativa, não o e-mail. Todo o percurso é gravado como um único registro no log, e não um por conexão: um único e-mail não deve ser lido como três falhas separadas.
Quando todas as conexões recusaram, o registro é gravado como falho e entra na fila para nova tentativa. Ele é tentado mais três vezes — depois de um minuto, cinco minutos e trinta minutos — e então para. Um endereço que não existe não vai passar a existir na quadragésima tentativa.
As novas tentativas são agendadas com o WP-Cron, que só roda quando alguém visita o site. Em um site com pouco movimento, uma nova tentativa pode acontecer depois do minuto para o qual foi agendada. Se isso importa, mude para um cron de servidor de verdade da forma habitual — DISABLE_WP_CRON no wp-config.php mais uma chamada de wp-cron.php pelo crontab. Nada no MevvMail precisa ser alterado para isso.
Uma cadeia que vale a pena
- Duas conexões em dois provedores diferentes protegem você do dia ruim de um provedor. Duas conexões no mesmo provedor, não.
- Mantenha uma conexão SMTP na cadeia, ou os e-mails que levam anexos não terão para onde ir (veja abaixo).
- O PHP
mail()é um último recurso razoável, mas uma primeira escolha ruim: ele é justamente o caminho sem autenticação que o plugin existe para substituir.
O log de e-mails
Cada tentativa é gravada em uma tabela no seu próprio banco de dados. Nada sobre o seu e-mail é enviado para nós — não há telemetria, análise de uso nem varredura de conteúdo em lugar nenhum do plugin.
- O que é gravado
- Data e hora, destinatários, assunto, status, a conexão que cuidou dele, a parte do site que o produziu, a resposta do próprio provedor e o número de tentativas.
- Filtros
- Por status (enviado, falhou, pendente), por origem e por data. Os três juntos costumam ser toda a investigação de um atendimento.
- Origem
- Uma mensagem pode levar um rótulo dizendo qual plugin a produziu — um formulário, um e-mail de recuperação, uma notificação do WooCommerce. O rótulo é gravado em uma coluna própria e retirado da mensagem antes de ela sair, então nunca chega à pessoa que recebe o e-mail.
- Reenviar
- Qualquer registro pode ser enviado de novo a partir da lista. Ele entra na cadeia desde o começo, então uma conexão que tenha sido corrigida nesse meio-tempo é usada.
- Armazenar o corpo do e-mail
- Ligado por padrão. Desligue e o log guarda apenas os cabeçalhos. Um registro assim pode então ser examinado, mas não reenviado — e um envio que falha também não entra na fila da escada de novas tentativas, porque nos dois casos nada foi guardado para enviar.
- Manter os registros do log por
- 7, 30, 90 dias ou para sempre. Os registros mais antigos são removidos de forma agendada.
O log pode conter dados pessoais — endereços, assuntos e, se você deixar a configuração ligada, corpos de mensagem. Revise o prazo de retenção e a opção de corpo à luz das suas próprias obrigações antes de ir ao ar, do mesmo jeito que faria com qualquer outro registro da loja.
Desinstalação
Excluir o plugin não mexe no seu log nem nas suas configurações. Há uma única opção de adesão na tela de Configurações — Excluir também a tabela do log e todas as configurações quando o plugin for excluído — e ela vem desligada por padrão, porque a leitura destrutiva de “desinstalar” nunca deveria ser a que você recebe por acidente.
Anexos
Na versão 1.0.0 os anexos trafegam apenas por SMTP. Os oito provedores de API não os enviam, e isso é um limite deliberado, não um defeito: cada uma dessas APIs quer o arquivo em um formato diferente, e publicar oito codificadores testados pela metade não valia a pena.
- Um e-mail que leva um arquivo ignora permanentemente as conexões de API e procura uma conexão SMTP na cadeia.
- Com uma conexão SMTP configurada, faturas, ingressos e PDFs saem normalmente.
- Sem nenhuma conexão SMTP configurada, esse e-mail é gravado como falho em vez de ser entregue sem o arquivo — uma entrega silenciosa sem a fatura seria pior que uma falha visível.
A regra prática cabe em uma linha: mantenha uma conexão SMTP na cadeia, seja lá o que mais houver nela.
Pedidos do WooCommerce
Com o WooCommerce ativo, cada tela de pedido ganha uma caixa listando os e-mails que aquele pedido produziu e o status de entrega de cada um deles. A pergunta “o cliente recebeu a confirmação?” é respondida no próprio pedido, em vez de com uma busca no log.
O log também grava qual e-mail do WooCommerce a mensagem era, então uma nova tentativa que acontece meia hora depois ainda sabe o que está enviando — e, com uma licença Pro, qual regra de roteamento e qual linha de assunto se aplicam a ela.
O MevvMail funciona exatamente igual em um site sem WooCommerce. A caixa de pedido simplesmente não aparece.
O que uma licença Pro acrescenta
Tudo o que está acima está no plugin gratuito: dez tipos de conexão, a cadeia de failover, a escada de novas tentativas, o log, o reenvio e a caixa de pedido do WooCommerce. O Pro é um plugin separado que acrescenta profundidade no WooCommerce em cima da entrega.
- Designer de e-mails do WooCommerce
- Um logotipo, uma cor base, uma cor de fundo, o texto do rodapé e uma linha de assunto por tipo de e-mail, com uma prévia do design salvo. O design é aplicado pelo plugin gratuito, então ele sobrevive ao desligamento da licença.
- Rastreamento de abertura
- Um pixel 1×1 opcional servido pelo seu próprio site, gravado como um único carimbo de data e hora na coluna Aberto do log. Desligado por padrão. Nenhum endereço IP, cliente de e-mail, referenciador, localização, dispositivo ou contagem de aberturas é coletado, e nenhuma taxa de abertura é mostrada em lugar nenhum.
- Alertas de falha
- Um e-mail ou webhook por interrupção, depois de um número de falhas consecutivas escolhido por você. O alerta sai pelo caminho de e-mail do próprio servidor — para que ainda chegue a você quando o que está quebrado são justamente as suas conexões — e não leva destinatário, assunto nem corpo da mensagem que falhou.
- Roteamento condicional
- Regras sobre a etiqueta de origem ou sobre o tipo de e-mail do WooCommerce movem uma conexão para o início da cadeia. A cadeia nunca é estreitada, então o failover continua funcionando, e a regra continua valendo em uma nova tentativa atrasada.
A licença é ativada em MevvMail → Licença com uma chave que começa com MEVM. Se ela vencer, o designer, o rastreamento, os alertas e o roteamento param; a entrega, o failover e o log continuam, porque nunca foram coisas que o Pro pudesse reter.
O rastreamento de abertura é um indício, não uma medição. Uma caixa de correio que bloqueia imagens ou um proxy que as coloca em cache deixa o pixel mudo ou o dispara cedo demais. É por isso que só a primeira abertura é guardada, e por isso o produto não mostra taxa de abertura.
O que sai do seu servidor
Duas coisas, e as duas estão listadas aqui.
- O seu e-mail, para o provedor que você configurou. Remetente, destinatários, assunto, corpo, qualquer Reply-To e cabeçalhos personalizados, e a sua própria chave de API para que o provedor possa autenticar você. O MevvMail não acrescenta nada — sem endereço do site, sem dados de usuário, sem nenhum identificador nosso — e nada é enviado a nenhum provedor até você criar uma conexão daquele tipo.
- Uma verificação de atualização. Dois valores, o slug do plugin e o número da versão instalada, enviados para
https://mevvsoft.com/api/v1/license/free-updatequando o WordPress roda a própria verificação de atualizações e a resposta em cache tem mais de doze horas. Sem endereço do site, sem endereço de e-mail, sem chave de licença, sem lista de plugins, sem estatísticas de uso. A resposta é assinada e uma resposta sem assinatura é descartada. A cópia distribuída pelo Diretório de Plugins do WordPress não contém o arquivo do atualizador de forma alguma.
O fabricante não recebe nenhum conteúdo de e-mail, nenhum endereço de destinatário, nenhum registro do log e nenhuma análise de uso deste plugin. O log é uma tabela no seu próprio banco de dados, e você decide por quanto tempo ele é mantido e se os corpos das mensagens são guardados.
Solução de problemas
- O log diz enviado, mas o e-mail não chegou
- “Enviado” significa que a conexão aceitou a mensagem, não que a caixa de correio a colocou na caixa de entrada. Verifique o spam e depois confirme que o endereço do remetente está em um domínio cujos registros SPF, DKIM e DMARC autorizam o provedor por onde você envia. A maior parte das mensagens que somem nessa etapa é problema de autenticação, não de entrega.
- Tudo falha na primeira conexão
- Abra o registro e leia a resposta do próprio provedor: ela é guardada junto com a tentativa. Porta errada e criptografia errada, uma chave vencida e um remetente que o provedor não autoriza explicam a maioria dos casos.
- Um e-mail com anexo falhou
- Verifique se a sua cadeia tem uma conexão SMTP. Sem ela, um e-mail que leva um arquivo é gravado como falho de propósito.
- As novas tentativas nunca acontecem
- Duas causas. O WP-Cron só roda quando alguém visita o site, então em um site com pouco movimento a nova tentativa espera pelo tráfego — ou mude para um cron de servidor de verdade. A outra é “Armazenar o corpo do e-mail”: com essa opção desligada não há com o que tentar de novo, e o registro que falhou é deixado em paz de propósito.
- O botão Reenviar não fez nada
- Aquele registro foi gravado sem o corpo, então não há nada para enviar. Ligue de novo “Armazenar o corpo do e-mail” para os registros que você talvez queira reenviar.
- As telas do Pro não aparecem
- Confirme que o plugin gratuito está ativo, que o plugin Pro está ativo e que a licença está ativada. Os três são necessários, e a tela de licença diz qual deles não está satisfeito.
Quando escrever para nós, envie as versões dos plugins, as versões do WordPress e do PHP, o tipo de conexão e o texto exato da resposta do provedor que está no registro do log. Antes disso, remova os endereços dos clientes e o corpo da mensagem; a resposta quase sempre basta sozinha.