Formulário de contato
Criando formulário de contato

Hoje vamos aprender a criar um formulário de contato.

Nós vamos precisar criar 4 páginas, são elas:

1 – contato.html
2 – enviando.php
3 – obrigado.html
4 – erro.html

Na primeira página(contato.html), colocaremos nosso formulário, na segunda página(enviando.php) ficará nosso script php que fará o envio do email, na terceira página(obrigado.html) informaremos que o envio foi concluído com sucesso e na quarta página(erro.html) informaremos se houve algum erro.

Código contato.html:

<form action="enviando.php" method="POST">
    Nome:

    <input name="nome" type="txt" />

    Email:

    <input name="email" type="txt" />

    Assunto:

    <input name="assunto" type="txt" />

    Mensagem:

    <textarea cols="45" rows="5" name="mensagem"></textarea>

    <input type="submit" />
  </form>

Nosso formulário usará o método post (method=”POST”) para enviar os campos e a ação ocorrerá no nosso arquivo enviando.php ( action=”enviando.php”), ele receberá os campos e executará o envio.

Código enviando.php:

<?php
// Incluindo arquivo com a classe Mail
require_once('Mail.php'); 

// Recebendo os campos do formulário.
$nome 		= $_POST['nome'];
$email		= $_POST['email'];
$assunto 	= $_POST['assunto'];
$mensagem	= $_POST['mensagem'];

// Configurar quem recebe.
$de 		= "$nome<$email>"; // Não mude está linha
$para 		= "Seu Nome<seuemail@seudominio.com.br>"; // Coloque aqui seu email

// Configurar os dados de conexão ao servidor SMTP
$servidor 	= "mail.seudominio.com.br"; // Coloque aqui seu servidor de SMTP
$login		= "seuemail@seudominio.com.br"; // Coloque aqui o email de login de sua conta
$senha	 	= "senha_seu_email"; // Coloque aqui a senha do email

########## NÂO ALTERAR ############################
// Cabeçalho do email
$headers = array (
    'From'     => $de,
    'Reply-to' => $login,
    'To'       => $para,
    'Subject'  => $assunto
);
// Conexão ao servidor
$smtp = Mail::factory('smtp',
    array (
      'host'     => $servidor,
      'port'     => 25,
      'auth'     => true,
      'username' => $login,
      'password' => $senha
    )
);

// Efetuando o envio autenticado
$mail = $smtp->send($para, $headers, $mensagem);
###################################################

// Verificando se houve erro
if (PEAR::isError($mail)) {
    header('Location: erro.html');
} else {
    header('Location: obrigado.html');
}
?>

Na página enviando.php você deve configurar a linha abaixo colocando seu email:

$para = "Seu Nome<seuemail@seudominio.com.br>"; // Coloque aqui seu email;

Também deve editar os dados de conexão ao seu servidor SMTP:

$servidor = "mail.seudominio.com.br";
$login	  = "seuemail@seudominio.com.br";
$senha	  = "senha_seu_email";

Agora nossa página confirmando o envio.

Código obrigado.html

Muito Obrigado!<br>
Sua mensagem foi enviada com sucesso.

E por útlimo nossa página informando que houve um erro.

Código erro.html

Ocorreu um erro!<br>
Por favor tente novamente.

Bem é isto, você pode adaptá-lo ao seu site e modificar os arquivos como desejar.

Abaixo disponibilizamos os arquivos para download.

Download: contato.zip

Posts relacionados

9 Comments


  1. mai 23, 2011
    6:53 pm

    Vinicius

    Mt bom tutorial, mas no meu caso, eu tenho uma caixa de seleção que o usuario escolhe 1 de 3 setores (ex: Compras, Vendas, Duvidas) e dependendo da escolha, o e-mail vai para algum lugar. E pelo meu formmail, como nao fiz cabeçalho SMTP, mts msgs vai para a caixa de Spam. O que poderia ser feito?

    Desde ja agradeço


  2. mai 24, 2011
    8:25 pm

    Adriano

    Onde posso baixar a class ‘Mail.php’ pois baixei o phpmailer e está dando erro. Veja http://www.aroldobarbosa.com.br/contato/contato.html .
    Pq dá esse erro quando clico em Enviar?


    • mai 24, 2011
      8:46 pm

      acquahost

      Adriano, no caso para funcionar o seu servidor de hospedagem precisa ter instalado a classe Mail.


  3. mai 25, 2011
    5:16 pm

    Adriano

    Mas essa instalação é o servidor quem faz ou eu mesmo posso instalar? Se caso eu puder fazer, como seria? Obrigado pela atenção!


    • mai 30, 2011
      11:36 am

      acquahost

      Adriano, no caso o suporte técnico da empresa onde você hospeda, precisa instalar no servidor o módulo.


  4. set 23, 2011
    9:15 am

    Paulo

    É possível usar este formulário em email da google ( gmail ) ou hotmail entre outros ?


  5. set 29, 2011
    6:47 pm

    acquahost

    Paulo, no Gmail funciona sim, precisa trocar a porta pois lá a conexão usa ssl, já no Hotmail não tenho certeza.


  6. nov 11, 2011
    11:59 am

    Jorge Luiz

    boa tarde
    http://www.radiomegaminas.com/formulario.html

    ele ficara assim

    http://www.radiomegaminas.com/contato1.html

    onde eu conseguria o endereco responsavel pelo processamento e envio do formulario?
    tenho criar um arqui vo em php?


    • nov 14, 2011
      9:19 am

      acquahost

      Jorge, bom dia!

      Sim, você precisa criar um arquivo php que irá executar a ação de envio.

      Neste php você deve configurá-lo para receber as variáveis do seu formulário.

      Como descrito no post.

      Você pode abaixar um exemplo: http://acquahost.com.br/download/contato.zip

Post a Comment

Your email is never published nor shared. Required fields are marked *


Atendimento

Live Help


Nossa WebRádio


*Clique "Play" e ouça nossa rádio.