Documentação do MevvMail

Entregue o e-mail e depois consiga provar isso.

O MevvMail assume o wp_mail(), envia pelas conexões que você configura, tenta de novo o que falha e grava cada tentativa em uma tabela no seu próprio banco de dados. Este guia cobre a instalação, a tela de conexões campo a campo, a ordem em que a cadeia é percorrida, o log, a caixa de pedido do WooCommerce, as telas do Pro e o que verificar quando uma mensagem não chega.

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

  1. Instale o plugin gratuito MevvMail: envie o zip em Plugins → Adicionar novo ou copie o diretório mevvmail para /wp-content/plugins/.
  2. Ative-o. Nada é assumido ainda.
  3. Abra MevvMail → Conexões e adicione a sua primeira conexão.
  4. Clique em Enviar e-mail de teste e confirme que a mensagem chega.
  5. Opcional, mas recomendado: adicione uma segunda conexão com prioridade menor, como reserva.
  6. 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.

SMTPPHP mail()BrevoSendGridMailgunPostmarkSparkPostElastic EmailSMTP2GOResend

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.

  1. 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.
  2. 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-update quando 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.