Falha ao enviar formulário no WordPress

Se ao tentar enviar um formulário através do WordPress você recebe algum tipo de erro ou falha no envio, isso pode ocorrer por alguns motivos, mas principalmente por conta de o site não contar com um plugin de autenticação SMTP.

A autenticação via SMTP permite que o site envie mensagens se conectando com uma conta de e-mail para disparar a partir dela, tornando o envio mais confiável, e ajudando a evitar que essa mensagem seja marcada como SPAM.

Como identificar a falha

De maneira geral, os primeiros sinais de que o formulário precisa de autenticação SMTP é justamente a falha nos envios, mas essas falhas nem sempre fornecem instruções que digam que realmente o problema é esse. Por isso, o recomendado é sempre conferir diretamente os arquivos error_log e debug.log do site, que trarão informações mais detalhadas, como explicamos melhor no artigo sobre o processo de debug.

A causa mais comum nesse caso é a mensagem de falha por um erro no servidor, como visto no caso abaixo:

Falha ao enviar formulário WordPress

Caso o problema dos envios de formulários tenham relação com o SMTP, seus registros de erro normalmente terão informações sobre o PHPMailer, que é a dependência do PHP utilizada para realizar os envios, como por exemplo nesse erro abaixo:

[14-Jun-2024 16:21:02 UTC] PHP Fatal error:  Uncaught Error: Call to undefined function PHPMailer\PHPMailer\mail() in /home/usuario/meusite.com.br/wp-includes/PHPMailer/PHPMailer.php:881
Stack trace:
#0 /home/usuario/meusite.com.br/wp-includes/PHPMailer/PHPMailer.php(1972): PHPMailer\PHPMailer\PHPMailer->mailPassthru()
#1 /home/usuario/meusite.com.br/wp-includes/PHPMailer/PHPMailer.php(1693): PHPMailer\PHPMailer\PHPMailer->mailSend()
#2 /home/usuario/meusite.com.br/wp-includes/PHPMailer/PHPMailer.php(1525): PHPMailer\PHPMailer\PHPMailer->postSend()
#3 /home/usuario/meusite.com.br/wp-includes/pluggable.php(546): PHPMailer\PHPMailer\PHPMailer->send()
#4 /home/usuario/meusite.com.br/wp-includes/user.php(3279): wp_mail()
#5 /home/usuario/meusite.com.br/wp-login.php(827): retrieve_password()
#6 {main}
  thrown in /home/usuario/meusite.com.br/wp-includes/PHPMailer/PHPMailer.php on line 881

Como podemos ver no código acima (que é um exemplo real de erro possível), todos os registros mostram falhas referentes ao PHPMailer e sua ação de envio, o que quase sempre é ocasionado justamente pela falta da configuração de SMTP.

Como resolver?

A solução mais recomendada para casos como este é a configuração de um plugin de SMTP, como demonstramos no artigo de configuração do plugin WP Mail SMTP. Assim, seu site poderá autenticar o acesso a uma conta de e-mail para disparar as mensagens.

Porém, se o seu erro for diferente do caso acima e a configuração do plugin SMTP não for suficiente, poderá ser necessário seguir uma abordagem diferente. Para isso, é recomendado que acione o seu programador responsável pelo site, para que ele possa diagnosticar o problema e e implementar a solução mais adequada.

Você está precisando de ajuda?
Saiba que sempre será um prazer te ajudar! Nossa equipe de suporte está disponível à você! Por isso, caso precise de auxilio, saiba que pode contar conosco! Envie-nos um ticket para que nosso time de especialista consiga lhe auxiliar da melhor maneira possível. Você precisa de ajuda de como abrir um ticket? Leia esse artigo.


Conseguimos te ajudar?
Loading spinner
Encontrou sua resposta?