Criando o formulárioAntes de tudo temos que criar o formulário onde o usuário irá colocar seu nome, email, o assunto e a mensagem. Esta página não utiliza nenhum comando PHP, somente códigos HTML. Veja:
<html>
<head>
<title>Formulário de contato</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head> <body>
<form action="enviar.php" method="post">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td width="20%" align="right" height="20"><font size="2" face="Verdana">Seu nome:</font></td>
<td><font size="2" face="Verdana">
<input name="nome" type="text" id="nome">
</font></td>
</tr>
<tr>
<td align="right" height="20"><font size="2" face="Verdana">Seu e-mail:</font></td>
<td><font size="2" face="Verdana">
<input name="email" type="text" id="email">
</font></td>
</tr>
<tr>
<td align="right" height="20"><font size="2" face="Verdana">Assunto:</font></td>
<td>
<select name="assunto">
<option value="1">Dúvidas</option>
<option value="2">Sugestões</option>
<option value="3">Outros</option>
</select>
</td>
</tr>
<tr>
<td align="right" height="20" valign="top"><font size="2" face="Verdana">Mensagem:</font></td>
<td><textarea name="mensagem"></textarea></td>
</tr>
<tr>
<td align="right" height="20"><font size="2" face="Verdana"> </font></td>
<td><font size="2" face="Verdana">
<input type="submit" name="Submit" value="Enviar">
</font></td>
</tr>
</table>
</form>
</body>
</html>
Criando a página enviar.php Agora vamos criar o principal. A página que envia o e-mail com os dados do formulário para o e-mail do administrador, ou conforme o assunto. Exemplo, o usuário está com uma dúvida, o e-mail então será enviado para duvidas@seusite.com.br, caso o usuário tenha uma sugestão, será enviado para sugestao@seusite.com.br, e assim por diante. Vamos ao código:
Comentando o códigoO código é muito simples. Antes de tudo, damos um valor verdadeiro (true) à variável $verifica. Isso serve para que se não houver nenhuma "irregularidade" nas verificações, possa ser enviado o e-mail. Caso haja alguma "irregularidade", será dado um valor falso (false) à variável $verifica. Assim, o e-mail não será enviado, e uma mensagem de erro será exibida.
A primeira verificação confere se os campos Nome, E-mail e Mensagem foram preenchidos. Ou seja, não estão vazio. Caso um dos três esteja vazio, uma variável ($msg) será criada com uma mensagem de erro. Se estiverem todos preenchidos, nada será feito. Ou seja, a variável $verifica ainda continua verdadeira.
A segunda verificação consiste em checar o número de caracteres digitados na mensagem. Caso for maior que 1000 caracteres, uma variável ($msg) será criada com uma mensagem de erro. Isso serve para evitar que pessoas má intensionadas enviem e-mail muito grandes, gerando lag no servidor, e spam no seu e-mail.
Caso você deseje aumentar ou diminuir o número de caracteres, basta você modificar no número. Você também pode retirar este comando.
Passada as duas verificações (se $verifica ainda for igual à true) será enviado o e-mail. Mas antes de enviar a mensagem, vamos pegar o assunto que o usuário selecionou. Junto com o assunto pegaremos o e-mail para quem será enviado o contato. Exemplo, se o usuário escolheu o assunto Dúvidas, o contato será enviado para duvidas@seusite.com.br e assim por diante.
Depois de pego o e-mail para enviar o contato iremos editar a mensagem, evitando que seja enviado algum comando malicioso se utilizando ActiveX. Para isso, basta uma simples substituição dos < >para o < e >
Depois de tudo verificado e modificado está na hora de enviar a mensagem. Quem fará isso é o comando mail(), sendo o primeiro argumento ($email) o e-mail para quem será enviado o contato, o segundo ($assunto) o assunto da mensagem, o terceiro ($msg) a mensagem, e o quarto ($headers) os headers que permitirão que sejam utilizados comandos HTML.
Depois de enviado será exibida uma mensagem de sucesso ou de erro.
Pronto, você já tem seu sistema de contato. Você pode modificá-lo a vontade, sem restrições, e qualquer dúvida pode entrar em contato.
FinalEspero que tenha sido claro
FLW