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:
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.