Logo DrCode Logo DrCode

Blog

Blog / PHP / Como fazer envio de formulário de contato com php

Como fazer envio de formulário de contato com php

envio

Todos os sites, sendo eles um site de vendas, noticias, dicas, ou ate mesmo institucional tem uma página de contato, para que o usuario possa entrar em contato caso haja algum problema no site ou queira tirar uma dúvida, então para você programador ou desenvolvedor web, é importante saber como fazer um envio de formulário de contato com php, assim você pode fazer o envio que ira direto para o e-mail cadastrado.

Para fazer o envio do formulário de contato, vamos utilizar o php, que é o mais simples de todos então vamos lá.

HTML do Formulário de Envio

Primeiro você precisa de um formulário de contato em uma página, assim como no exemplo.

<form action="envia.php" name="envia" id="envia" method="post">
    <ul>
        <li>
            <label for="nome">Nome</label>
            <input type="text" name="nome" id="nome">
        </li>
        <li>
            <label for="email">Email</label>
            <input type="email" name="email" id="email">
        </li>
        <li>
            <label for="telefone">Telefone</label>
            <input type="tel" name="telefone" id="telefone">
        </li>
        <li>
            <label for="assunto">Assunto</label>
            <input type="text" name="assunto" id="assunto">
        </li>
        <li>
            <label for="mensagem">Mensagem</label>
            <textarea name="mensagem" id="mensagem" cols="30" rows="10"></textarea>
        </li>
        <li>
            <input type="submit" name="enviar" id="enviar" value="Enviar">
        </li>
    </ul>
</form>

Em seguida você pode estilizar o seu envio de formulário do seu jeito, eu vou deixar assim mesmo no exemplo.

PHP que faz o Envio do Formulário de Contato

Agora vamos configurar o arquivo que faz o envio do formulário de contato.

<?php
// Passando os dados obtidos pelo formulário para as variáveis abaixo
$nomeremetente = $_POST['nome'];
$emailremetente = trim($_POST['email']);
$emaildestinatario = 'nome@dominio.com.br';// Digite seu e-mail aqui, lembrando que o e-mail deve estar em seu servidor web
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

/* Montando a mensagem a ser enviada no corpo do e-mail. */
$mensagemHTML = '
<strong>Formulário de Contato</strong> 
<p><b>Nome:</b> '.$nomeremetente.' <p>
<b>E-Mail:</b> '.$emailremetente.' <p>
<b>DDD:</b> '.$ddd.' <p>
<b>Telefone:</b> '.$telefone.' <p>
<b>Assunto:</b> '.$assunto.' <p>
<b>Mensagem:</b> '.$mensagem.'</p>
<hr>';

// O remetente deve ser um e-mail do seu domínio conforme determina a RFC 822.
// O return-path deve ser ser o mesmo e-mail do remetente.
$headers = "MIME-Version: 1.1\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: $emailremetente\r\n";
// remetente
$headers .= "Return-Path: $emaildestinatario \r\n";
// return-path
$envio = mail($emaildestinatario, $assunto, $mensagemHTML, $headers);
if($envio)
echo "<script>location.href='sucesso.html'</script>";// Página que será redirecionada
?>

 

Vamos entender:

Primeiro temos as variáveis que pegam as informações que colocamos no formulário de contato antes de fazer o envio, em seguida pegamos os valores das variáveis, e colocamos no corpo do e-mail, onde esta a variável $mensagemHTML e logo em seguida os headers fazem todo o trabalho de enviar, e na condição if, temos para onde iremos redirecionar a pessoa trocando o endereço entre aspas. E lembre-se, para que todos os e-mails sejam recebidos corretamente o remetente deve ser um e-mail cadastrado no domínio.

Caso você queira colocar, ou remover um campo do formulário que fara o envio, você pode duplicar a variável logo no inicio, e trocar os nomes e colocar o ID do campo input e adicionar no conteúdo da variável $mensagemHTML e assim receberá ela no e-mail.

Você pode baixar tudinho pronto para colocar no seu site clicando aqui.

Bom, caso surja alguma dúvida entre em contato pelo meu formulário de contato ou deixe um comentário abaixo. Obrigado.

Tags: contato enviado envio de contato envio de formulario envio de formulário com php envio php formulario de contato
Felipe Mello
Comentários