Você está na página 1de 3

Formmail em PHP

Fala galera!

Quem trabalha com o desenvolvimento de páginas para Internet, com certeza algum dia já fez uso
de um FORMMAIL em CGI.

O formmail pega os dados de um formulário e os envia para um determiando email, não


importando quantos campos esse form tenha. É por essa razão que muitos provedores dispoõem
esse serviço a seus clientes, pois ele é um script simples e muito funcional.

Vamos lá:

Arquivo: formmail.php

//VERIFICA SE TEM ALGUM DADO NO ARRAY


if(sizeof($HTTP_POST_VARS)) {
//PEGA O IP DO USUÁRIO QUE ESTÁ ENVIANDO
$ip = getenv("REMOTE_ADDR");
$texto = "Mensagem enviada pelo IP: $ip<br><br>";

while(list($key, $val) = each($HTTP_POST_VARS)) {


if(($key <> 'para') AND ($key <> 'assunto') AND ($key <> 'retorno'))
$texto.= "<b>$key</b> = $val<br>";
}//FECHA WHILE

//ENVIA UM EMAIL COM OS DADOS ENVIADOS PELO FORMUlÁRIO


$envia = @mail($para,$assunto,$texto,"From:$para\nContent-Type:
text/html; charset=us-ascii");

//REDIRECIONA PARA A PÁGINA DE RESULTADO


header("Location:$retorno");
}//FECHA IF (SIZEOF)

//MOSTRA O FORMULÁRIO PARA PREENCHIMENTO


else {?>

<html>
<body bgcolor='#FFFFFF'>
<div align='center'><b>FORMMAIL SIMPLES USANDO PHP</b></div>
<form name='formmail' method='POST' action='<?echo $PHP_SELF;?>'>
<table border=0 cellspacing='0' cellpading='0'>
<tr>
<td>Nome: </td>
<td><input type='text' name='txtnome' size='25'></td>
</tr>

<tr>
<td>Email: </td>
<td><input type='text' name='txtemail' size='20'></td>
</tr>

<tr>
<td>Mensagem: </td>
<td><textarea name='txtmensagem' rows='5'
cols='55'></textarea></td>
</tr>

<tr>
<td colspan=2>
<input type='submit' value='Envia FormMail >>'>
<input type='hidden' name='para' value='teste@teste.com.br'>
<input type='hidden' name='assunto' value='Contato On-Line'>
<input type='hidden' name='retorno' value='teste.htm'></td>
</tr>
</table>
</form>
</body>
</html>
<?}//FECHA ELSE?>

Primeiramente, verificamos se o array $HTTP_POST_VARS possui algum dado. Se tiver, fazemos


um WHILE nesse array para recuperar os campos e os valores digitados no formulário.
Depois disso, geramos um email com o contéudo desses campos para ser encaminhado ao email
especificado.

Preste atenção nas seguintes linhas:


<input type='hidden' name='para' value='teste@teste.com.br'>
<input type='hidden' name='assunto' value='Contato On-Line'>
<input type='hidden' name='retorno' value='teste.htm'></td>

Essas três campos são importantíssimos em nosso formmail.


para = Os dados do formulário vão para o email que estiver especificado aqui.
assunto = Assunto do email a ser enviado ( EX: Contato On-Line )
retorno = Página que será exibida depois que o usuário enviar o formulário. Normalmente coloca-
se uma página HTML com os dizeres de que o formuário foi enviado com Sucesso!

Atenção: No campo retorno, deve-se colocar a URL completa. (Ex:


http://www.site.com.br/sucesso.htm)

Testando o script

Digite no browser de sua preferência, o endereço para testarmos o script que acabamos de criar.
Exemplo: http://127.0.0.1/pasta/formmail.php.

Se tudo ocorrer bem, estaremos vendo uma tela parecida com essa:

Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.
Júlio César Martini
baphp@imasters.com.br

Você também pode gostar