Formulário de contato em PHP, como criar e implementar em seu site

Formulário de contato em PHP, como criar e implementar em seu site

19/06/2017 às 16:30WordPress

Formulários de contato é a forma mais rápida de seus clientes falarem com você ou sua empresa, existem muitos guias de como criar formulários simples e fáceis de personalizar, preparamos para você além de um guia simples e algumas dicas de como tirar o máximo de proveito do formulário sem correr o risco de cair em más práticas que podem ser vistas como spam e acabam te impedindo de receber corretamente os e-mails.


Antes de começar

Antes de qualquer coisa, verifique se as contas de e-mail que você vai usar nesse formulário já estão criadas e configuradas corretamente, quando as contas não estão funcionando corretamente, além de você não receber seus contatos seu servidor de hospedagem de site poderá bloquear seus envios por serem considerados spam.
Outra dica importante é que você deve usar apenas seus domínios, apenas os endereços de e-mail que fazem parte do site que você está trabalhando, usar provedores externos podem trazer bloqueios devido a validações que são feitas para cada envio, e com o tempo retornos de erro podem bloquear seu domínio nesses provedores externos e te impedir de falar com seus clientes.

Configurando as variáveis do contato

Para que o formulário funcione corretamente comece ajustando as variáveis de contato, $email_remetente, que será o endereço que estará enviando as mensagens para sua caixa de e-mails, já a variável $email_destinatario é onde você deve informar qual de suas contas estará recebendo as mensagens vindas do seu website.

Crie sua página de contato

Em sua página de contato você vai trabalhar as configurações do formulário e a exibição dele para seus visitantes. Crie o arquivo contato.php e comece configurando as variáveis e assunto das mensagens.

<?php
if (isset($_POST['enviarcontato'])) {
	
	//Variaveis de POST, Alterar somente se necessário 
	//====================================================
	$nome = $_POST['nome'];
	$email = $_POST['email'];
	$telefone = $_POST['telefone']; 
	$mensagem = $_POST['mensagem'];
	//====================================================
	
	//REMETENTE --> ESTE EMAIL TEM QUE SER VALIDO DO DOMINIO
	//==================================================== 
	$email_remetente = "naoresponda@seudominio.com.br"; // deve ser uma conta de email do seu dominio 
	//====================================================
	
	//Configurações do email, ajustar conforme necessidade
	//==================================================== 
	$email_destinatario = "voce@seudominio.com.br"; // pode ser qualquer email que receberá as mensagens
	$email_reply = "$email"; 
	$email_assunto = "Contato recebido pelo site"; // Este será o assunto da mensagem
	//====================================================
	
	//Monta o Corpo da Mensagem
	//====================================================
	$email_conteudo = "Nome = $nome \n"; 
	$email_conteudo .= "Email = $email \n";
	$email_conteudo .= "Telefone = $telefone \n"; 
	$email_conteudo .= "Mensagem = $mensagem \n"; 
	//====================================================
	
	//Seta os Headers (Alterar somente caso necessario) 
	//==================================================== 
	$email_headers = implode ( "\n",array ( "From: $email_remetente", "Reply-To: $email_reply", "Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html; charset=UTF-8" ) );
	//====================================================
	
	//Enviando o email 
	//==================================================== 
	if (mail ($email_destinatario, $email_assunto, nl2br($email_conteudo), $email_headers)){ 
					echo "</b>E-Mail enviado com sucesso!</b>"; 
					} 
			else{ 
					echo "</b>Falha no envio do E-Mail!</b>"; } 
	//====================================================
} 
?>

Depois de tudo configurado você pode personalizar sua página como preferir, o próximo passo é apenas implementar o formulário ao seu código, conforme mostramos abaixo:

<form action="<? $PHP_SELF; ?>" method="POST"> 
	<p>
		Nome:<br /> 
		<input type="text" size="30" name="nome"> 
	</p>   
	<p> 
		E-mail:<br /> 
		<input type="text" size="30" name="email">		
	</p>   
	<p> 
		Telefone:<br /> 
		<input type="text" size="35" name="telefone"> 
	</p>   
	<p> 
		Mensagem:<br /> 
		<input type="text" size="35" name="mensagem"> 
	</p>   
	<p>
        <input type="submit" name="enviarcontato" value="Enviar"> 
	    <input type="reset" name="limparmensagem" value="Apagar">
    </p>
	</form>

Com tudo pronto agora você só precisa testar e ajustar detalhes que forem mais convenientes, verifique  se a acentuação estará correta, pois é uma configuração que alguns servidores podem apresentar problemas.

Dicas extras

Algumas coisas podem te ajudar a não ter problemas com Spam, como já falamos antes use apenas o seu domínio para essas mensagens, ele estará validado para o seu servidor e não trará problemas. Saiba mais Dicas de como se proteger de spam

Valide os campos para que sejam preenchidos e contenham as informações corretas, use required, e o tipo de dado adequado nos campos, como text ou number, evite que os contatos possam ser enviados vazios, assim você evita ter seu formulário usado por BOTs que podem prejudicar sua reputação (cada servidor de envio de e-mails tem uma reputação de qualidade das mensagens, isso delimita quais mensagens passam ou ficam em análise como spam).

Conclusão

Em 5 minutos você pode criar um formulário de contato para seu projeto e com poucas linhas. Com todas as boas práticas vai evitar o spam e mensagens em massa que podem encher sua caixa de mensagens e atrapalhar o seu negócio.

Gostou de nosso post? Compartilhe: