Vamos lá, nesse tutorial iremos criar nosso formulário com 2 páginas, poderiamos usar somente 1, mas teriamos que acrescentar IF, e algumas coisa que poderiam dificultar o entendimento do nosso objetivo principal.
Nossa primeira página será "formulario.php", que conterá os campos que iremos pedir de nosso usuário, essa página não terá nenhuma programação em PHP, somente um formulário, que enviará as informações digitadas para outra página que criará um email, e irá enviar para seu recipiente.
formulario.php
<html>
<head>
<title>Enviar Contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="contato" method="post" action="enviar_form.php">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"><font size="2" face="Arial, Helvetica, sans-serif">Nome:</font></td>
<td width="200"><input type="text" name="nome"></td>
</tr>
<tr>
<td><font size="2" face="Arial, Helvetica, sans-serif">Email:</font></td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td><font size="2" face="Arial, Helvetica, sans-serif">ICQ:</font></td>
<td><input type="text" name="icq"></td>
</tr>
<tr>
<td> </td>
<td><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
</tr>
</table>
</form>
</body>
</html>
Os campos que estarei usando nesse tutorial são os seguintes: Nome, Email e ICQ. Você pode implementar quais e quantos campos quiser, desde que faça as referencias corretas na página seguinte. Essas referencias são feitas através do valor NAME no formulário. Por exemplo, o campo Nome, tem o valor NAME de nome, essa será a variável usada na página seguinte.
<form name="contato" method="post" action="enviar_form.php">
Aqui definimos para onde será enviada as informações que o usuário digitou, para a página "enviar_form.php". Vejamos agora como fica essa página:
enviar_form.php
<?
$msg = "Mensagem enviada em " . date("d/m/Y") . ", os dados seguem abaixo: " . chr(13) . chr(10) . chr(10); //nessa linha, estará impresso em que data e hora foi enviado o formulário
$msg .= "Nome : " . $nome . chr(13) . chr(10); //aqui o campo nome estará aparecendo
$msg .= "E-mail : " . $email . chr(13) . chr(10); //campo email
$msg .= "ICQ : " . $icq . chr(13) . chr(10); //campo icq
$Remetente = $email; //aqui, colocamos que o email digitado seja quem enviou o formulário, pode ser substituido por "Contato do Site", assim, sairá sempre que quem enviou o email, seja Contato do Site
mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");
?>
Entendendo - Começamos indicando que a váriavel $msg, receba todos os dados do formuláro, somente na primeira linha ela será assim: $msg = ".....", nas demais ela terá um . antes do =, indicando que ele receberá mais aquele valor, se não tiver, ele substituirá o que foi indicado na linha acima, e colocará somente a partir dessa linha (sem o ".").
$msg .= "Nome : " . $nome . chr(13) . chr(10);
Por que 2 vezes Nome?
A primeira vez, estaremos escrevendo no email, realmente a palavra nome ("Nome : "), na segunda, estaremos escrevendo o que a variável $nome, recebeu no formulário. O chr(13) . chr(10) é para darmos o efeito de 1 Enter na tela do email.
mail("meuemail@provedor.com.br", "Assunto do Email",$msg,"From: $Remetente\n");
Aqui está a função mail, a que enviará os dados, primeiro você deve digitar seu email, depois da virgula o assunto da mensagem (Contato do Site Tal), depois é o corpo do email, deve deixar a variável $msg, pois foi nela que inserimos todos os dados, e por último, é quem nos enviou o email.
Bem, qualquer dúvida em relação à esse tutorial, poste ai, terei o maior prazer em poder ajuda-lo.
Estou tentando para breve fazer um Tutorial de Formulário com Códigos HTML, que pode fazer esse email melhor visualizado, você pode montar uma página com imagens e tudo mais, e somente alterar os valores, mas essa fica pra próxima.