🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como corrigir formulário de contato que não envia email

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Como corrigir formulário de contato que não envia email
Severidade Grave
Descrição Um formulário de contato que não envia e-mail no WordPress costuma mostrar sucesso na tela, mas a mensagem nunca chega. A causa quase sempre é o WordPress usar a função PHP mail() sem autenticação; configurar SMTP autenticado faz as mensagens serem entregues de forma confiável.

O que é o formulário de contato que não envia e-mail?

O formulário de contato que não envia e-mail é a situação em que plugins como Contact Form 7, WPForms ou Forminator confirmam o envio para o visitante, mas o e-mail não chega ao administrador. O plugin de formulário entrega a mensagem ao wp_mail() do WordPress, que por padrão usa o comando PHP mail() do servidor: sem autenticação SMTP, sem SPF/DKIM e com remetente errado, o destino recusa o e-mail ou o joga no spam. O conserto é configurar SMTP e alinhar o remetente.

Como identificar

  • O formulário mostra “Obrigado, sua mensagem foi enviada”, mas o e-mail nunca chega ao admin.
  • As mensagens chegam na pasta de spam em vez da caixa de entrada.
  • O Contact Form 7 exibe “Falha ao enviar sua mensagem. Tente novamente mais tarde” em vermelho.
  • O e-mail de teste do plugin de SMTP falha, confirmando que o problema é o transporte e não o formulário.
Antes de começar: Não use a senha principal da conta de e-mail no plugin de SMTP. Gere uma senha de aplicativo dedicada ou use a chave de API do provedor transacional, que pode ser revogada isoladamente sem afetar o acesso à conta.

Como prevenir

  • Configure SMTP autenticado antes de publicar qualquer formulário de contato no site
  • Use sempre um remetente do próprio domínio e coloque o e-mail do visitante só no reply-to
  • Ative o log de e-mails do plugin de SMTP para confirmar entregas e detectar falhas antes do cliente

Erros relacionados

Causa

  • O WordPress usa a função PHP mail() padrão, sem autenticação SMTP, e o provedor de destino recusa a mensagem
    Campo "De" (from) do formulário usa o e-mail do visitante, disparando o filtro anti-spoofing do destino
    Ausência de SPF e DKIM no DNS do domínio, fazendo a mensagem cair no spam
    Plugin anti-spam ou reCAPTCHA mal configurado bloqueando o envio antes de chegar ao e-mail
    Campo de e-mail de destino vazio ou com erro de digitação nas configurações do formulário

Como resolver

  1. Confirme o e-mail de destino no formulário: abra as configurações do plugin (aba E-mail/Notificações) e verifique se o campo "Para" tem um endereço válido e sem erro de digitação.
  2. Corrija o campo remetente: no campo "De", use um endereço do próprio domínio do site (ex.: [email protected]), não o e-mail digitado pelo visitante. Coloque o e-mail do visitante apenas no campo "Responder para" (reply-to).
  3. Instale e configure SMTP: instale um plugin de SMTP (WP Mail SMTP, FluentSMTP) e aponte para o servidor do seu domínio ou um serviço transacional, com host, porta e criptografia corretos.
  4. Envie o e-mail de teste do plugin SMTP: use a aba de teste do plugin de SMTP. Se o teste chega, o transporte está certo e o problema era a função mail() padrão.
  5. Publique SPF e DKIM no DNS: adicione os registros que o provedor SMTP fornecer para tirar as mensagens do spam e autenticar o domínio.
  6. Teste o formulário real: preencha e envie o formulário do site e confirme a chegada na caixa de entrada do destinatário configurado.
PHP
// functions.php do tema filho — corrige o remetente que o plugin de formulario manda
// (mantem o e-mail do visitante apenas como Reply-To, evitando o filtro anti-spoofing)
add_filter( 'wp_mail_from', function ( $original ) {
    return '[email protected]';        // remetente do SEU dominio
} );
add_filter( 'wp_mail_from_name', function ( $original ) {
    return get_bloginfo( 'name' );
} );

Perguntas frequentes

Por que o formulário diz que enviou mas o e-mail não chega?
Porque o plugin confirma que entregou a mensagem ao WordPress, não que o e-mail saiu do servidor. O wp_mail() usa o PHP mail() padrão, que o destino recusa ou joga no spam. Configurar SMTP autenticado resolve a entrega de fato.
Preciso de SMTP mesmo usando o Contact Form 7?
Sim. O Contact Form 7, o WPForms e os demais plugins apenas entregam a mensagem ao wp_mail(). Sem SMTP autenticado por trás, o envio continua usando a função mail() do servidor, que é o ponto de falha mais comum.
Qual e-mail devo colocar no campo remetente do formulário?
Use um endereço do próprio domínio do site, como [email protected]. Nunca use o e-mail do visitante como remetente, pois isso aciona o filtro anti-spoofing. O e-mail do visitante vai no campo "Responder para".
As mensagens chegam no spam. Como evitar?
Publique os registros SPF e DKIM do seu provedor SMTP no DNS do domínio. Eles autenticam o envio e tiram as mensagens do filtro de spam do destinatário.
O reCAPTCHA pode estar bloqueando o envio?
Sim. Um reCAPTCHA com chave errada ou mal integrado pode impedir o formulário de processar o envio. Desative-o temporariamente para testar; se o e-mail passar a chegar, reconfigure as chaves do reCAPTCHA.
Como tenho certeza de que o problema é o e-mail e não o formulário?
Use o e-mail de teste do plugin de SMTP, que envia uma mensagem sem passar pelo formulário. Se o teste chega e o formulário não, o problema está nas configurações do formulário; se o teste também falha, o problema é o transporte SMTP.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes