A forma como as pessoas se comunicam evoluiu muito desde que comecei a discernir o que é de fato a internet em 2009. Fóruns de discussão e chats na época eram as formas mais eficazes de comunicação, e nos sites os formulários de contatos eram comuns. Se você tem um site hoje em dia, saber promover uma comunicação por meio de Whatsapp, Messenger ou qualquer plataforma que ofereça troca de mensagens instantânea é algo normal. Contudo, a importância dos formulários de contato nunca se perderam nesse meio.
A forma básica
Se não tem conhecimento no PHP, é ideal seguir as recomendações deste artigo antes de continuar. Isto é, o básico de HTML é fundamental também, então sem delongas, vamos à prática. Antes de mais nada, criar a página que receberá o internauta para coletar a mensagem é o primeiro passo. Existem plugins, scripts e formas mais confeccionadas para criar formulários de contato pela web, mas aqui vamos explicar como fazer isso da forma mais simples possível.
<html>
<head>
<title>Meu formulário de contato</title>
</head>
<body>
<div id=”formulario” class=”form-contato”>
<form action=”” method=”POST”>
<div name=”grupo1”>
<label for=”nome_completo”>Seu nome completo</label>
<input type=”text” id=”nome_completo” name="nome_completo" maxlenth=”100” required />
</div>
<div name=”grupo2”>
<label for=”telefone_numb”>Número para contato</label>
<input type=”number” id=”telefone_numb” name="telefone_numb" min="0" required />
</div>
<div name=”grupo3”>
<label for=”mensagem”>Sobre o que deseja falar?</label>
<textarea id="mensagem" name="mensagem" cols="5" rows="5" required></textarea>
</div>
<div nome="grupo4" align="right">
<button type="submit" name="submeter">Enviar</button>
</div>
</form>
</div>
</body>
</html>
Comando PHP: função email()
No lado do servidor a mágica pode começar. A função mail() permite que seu email seja enviado para o email que configura como receptor da mensagem do cliente. Todavia, essa função só funciona quando seu Apache está autorizando o PHP a enviar emails (como explicado neste artigo). Logo, a função é:
mail(
string $to,
string $subject,
string $message
): bool
Explicando melhor, a função booleana retorna verdadeiro caso tudo esteja certo, mas falso caso algo tenha saído errado. Substituindo os campos da função, teremos:
string $to: será o email para onde o servidor vai enviar os dados do formulário.
string $subject: o assunto, título ou conteúdo que intitula o conteúdo da explicativo da mensagem.
string $message: conteúdo da mensagem que será transmitida.
Existem outros parâmetros na função mail, mas queremos ser simples com as coisas e vamos deixar para explicar isso em outro artigo. Caso queira, consulte o link que deixamos no começo do parágrafo.
Por fim, teremos algo como:
<?php
mail(
'email@provedor.com.br', // ENDEREÇO DE EMAIL PARA QUAL SERÁ ENCAMINHADO
A MENSAGEM DO CLIENTE
'Assunto da mensagem', // ASSUNTO DIGITADO PELO AUTOR
'Conteúdo da mensagem' // MENSAGEM ESCRITA PELO AUTOR
)
?>
Isso por si já envia o email do provedor para o email que determinamos. Mas, vamos integrar isso ao nosso formulário então.
Juntando o formulário HTML com PHP
Crie um arquivo com o nome de index.php no seu provedor. Se usar o Xampp ou qualquer sistema no PC, insira o arquivo no local onde estão os arquivos do site. Após criar, só colar os exemplos acima tudo na página php que criou. Algo semelhante a isso ficará disponível:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
if(isset($_POST['submeter']) AND empty($_POST['submeter'])) {// VARIÁVEIS AQUI}
if(isset($_POST['submeter']) AND empty($_POST['submeter'])) {$nome_cliente = $_POST['nome_completo'];$telefone = $_POST['telefone_numb'];$mensagem = $_POST['mensagem'];if(mail('email@provedor.com.br','Contato de cliente','Nome do cliente: '.$nome_cliente.'/rTelefone cliente: '.$telefone.'/rMensagem: '.$mensagem)) {echo "email enviado com êxito!";} else {echo "Email não foi enviado. :(";}}