Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Costa

[Resolvido] Função mail()

Recommended Posts

Ola pessoal, vi no site do php.net com funciona a função mail(), mas não estou conseguindo usa-la.O que quero fazer é o seguinte: Existe um form onde entram os dados nome,e-mail,a escolha do departamento, e um comentário.

 

Alguém poderia em ajudar??? Só peço um poço de calma pois estou iniciando, bele. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Desde já agradeço!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não vai conseguir usar a função mail() da tua máquina local, sem fazer diversas configurações. Hospede o script na internet, e teste.

Qual é a dúvida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há muitos, muitos mesmo, tutoriais sobre isso. Dê uma olhada:

 

http://www.google.com/search?hl=pt-BR&...squisar&lr=

 

Se tiver uma dúvida específica, poste-a. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Wiliam beleza?

 

Cara, primeiro não tenha vergonha de perguntar por ser iniciante. Ninguém nasce sabendo tudo... o mais importante é buscar conhecimento.

 

Agora vamos ao que interessa:

 

Cirie uma arquivo php e dê o nome da página de form.php

<?php
//Somente entrará neste bloco se for enviado pelo formulario
if(isset($_POST['enviado'])){
//declarando variáveis
$nome = $_POST['nome'];
$email = $_POST['email'];
$dep = $_POST['dep'];
$comentario = $_POST['comentario'];
$data = date('d/m/Y - H:i:s');
$ip = $_SERVER['REMOTE-ADDR'];
//validando os campos
if(empty($nome) || empty($email) || empty($dep) || empty($comentario)){
	$erro = "Nenhum campo pode estar vazio!";//validar todos os campos
}elseif(strlen($email) < 7 || substr_count($email, "@") != 1 || substr_count($email, ".") < 1) {
	$erro = "Por favor digite um e-mail válido!"; //validando apenas e-mail
}else{
	//Valida o email do cara que enviou no server
	global $email;
	//vamos montar o bloco para enviar para sua caixa de e-mail
	$envia = mail("seuemail@seuprovedor.com.br",//aqui você digita o email onde você quer receber a mensagem
	"SUGESTÃO DO DEPARTAMENTO - VIA SITE",//aqui seria o assunto
	"-------------------Nome: $nome\nE-mail: $email\nDepartamento: $dep\nComentário: $comentario\n------------------\nData: $data\nIP: $ip",/*aqui seria o corpo da mensagem*/
	"From: $email");//se você quiser responder este email, clique em responder que ele aparecerá automaticamente no campo para
	//validando o envio da mensagem
	if($envia){
		$erro = "Mensagem enviada com sucesso!";
	}else{
		$erro = "Erro: sua mensagem não pode ser enviada, tente mais tarde!";
	}
}
}
?>

<?php
if(isset($erro)){
	print $erro; //aqui você vai apresentar o erro
}
?>
<form name="form1" action="?" method="POST">

<table border="0" width="400" align="center">
	<thead>
		<tr>
			 <th colspan="2"> Formulário de Contato do Wiliam</th>
		</tr>
	</thead>
<tbody>
	<tr>
		<td width="25%" valign="top">Nome:</td>
		<td width="auto"><input type="text" name="nome" value="" /></td>
	</tr>
	<tr>
		<td>E-mail:</td>
		<td><input type="text" name="email" value="" /></td>
	</tr>
	<tr>
		<td>Departamento:</td>
		<td>
		<select name="dep">
		<!-- digite aqui quais serao os departamentos -->
			<option>Dapartamento1</option>
			<option>Departamento2</option>
			<option>Departamento3</option>
			<option>Departamento4</option>
		</select>
		</td>
	</tr>
	<tr>
		<td valign="top">Comentário:</td>
		<td><textarea name="comentario" rows="6" cols="30"></textarea></td>
	</tr>
	<tr>
		<td></td>
		<td><input type="submit" value="Enviar" /><input type="hidden" name="enviado" value="" /></td>
	</tr>
</tbody>
</table>
</form>

Cara eu não testei este form porque eu não tenho acesso ftp no meu local de trabalho e também a função mail() nao funciona num server local, exceto se você configurar este server para que ele possa conectar SMTP para entao enviar uma mensagem.

 

Peço que teste num server remoto, e me diga se houve algum erro.!!

 

Cara aproveite este exemplo e tente fazer sozinho da proxima vez que for fazer um formmail.

 

 

Espero ter ajudado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

ABC

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não vai conseguir usar a função mail() da tua máquina local, sem fazer diversas configurações. Hospede o script na internet, e teste.

Qual é a dúvida?

Opa William, estou ciente disto.

 

Estou fazendo os testes on-line, mas agradeceria se você me ajuda-se a configurar minha maquina para fazer isto localmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Wiliam beleza?

 

Cara, primeiro não tenha vergonha de perguntar por ser iniciante. Ninguém nasce sabendo tudo... o mais importante é buscar conhecimento.

 

Agora vamos ao que interessa:

 

Cirie uma arquivo php e dê o nome da página de form.php

<?php
//Somente entrará neste bloco se for enviado pelo formulario
if(isset($_POST['enviado'])){
//declarando variáveis
$nome = $_POST['nome'];
$email = $_POST['email'];
$dep = $_POST['dep'];
$comentario = $_POST['comentario'];
$data = date('d/m/Y - H:i:s');
$ip = $_SERVER['REMOTE-ADDR'];
//validando os campos
if(empty($nome) || empty($email) || empty($dep) || empty($comentario)){
	$erro = "Nenhum campo pode estar vazio!";//validar todos os campos
}elseif(strlen($email) < 7 || substr_count($email, "@") != 1 || substr_count($email, ".") < 1) {
	$erro = "Por favor digite um e-mail válido!"; //validando apenas e-mail
}else{
	//Valida o email do cara que enviou no server
	global $email;
	//vamos montar o bloco para enviar para sua caixa de e-mail
	$envia = mail("seuemail@seuprovedor.com.br",//aqui você digita o email onde você quer receber a mensagem
	"SUGESTÃO DO DEPARTAMENTO - VIA SITE",//aqui seria o assunto
	"-------------------Nome: $nome\nE-mail: $email\nDepartamento: $dep\nComentário: $comentario\n------------------\nData: $data\nIP: $ip",/*aqui seria o corpo da mensagem*/
	"From: $email");//se você quiser responder este email, clique em responder que ele aparecerá automaticamente no campo para
	//validando o envio da mensagem
	if($envia){
		$erro = "Mensagem enviada com sucesso!";
	}else{
		$erro = "Erro: sua mensagem não pode ser enviada, tente mais tarde!";
	}
}
}
?>

<?php
if(isset($erro)){
	print $erro; //aqui você vai apresentar o erro
}
?>
<form name="form1" action="?" method="POST">

<table border="0" width="400" align="center">
	<thead>
		<tr>
			 <th colspan="2"> Formulário de Contato do Wiliam</th>
		</tr>
	</thead>
<tbody>
	<tr>
		<td width="25%" valign="top">Nome:</td>
		<td width="auto"><input type="text" name="nome" value="" /></td>
	</tr>
	<tr>
		<td>E-mail:</td>
		<td><input type="text" name="email" value="" /></td>
	</tr>
	<tr>
		<td>Departamento:</td>
		<td>
		<select name="dep">
		<!-- digite aqui quais serao os departamentos -->
			<option>Dapartamento1</option>
			<option>Departamento2</option>
			<option>Departamento3</option>
			<option>Departamento4</option>
		</select>
		</td>
	</tr>
	<tr>
		<td valign="top">Comentário:</td>
		<td><textarea name="comentario" rows="6" cols="30"></textarea></td>
	</tr>
	<tr>
		<td></td>
		<td><input type="submit" value="Enviar" /><input type="hidden" name="enviado" value="" /></td>
	</tr>
</tbody>
</table>
</form>

Cara eu não testei este form porque eu não tenho acesso ftp no meu local de trabalho e também a função mail() nao funciona num server local, exceto se você configurar este server para que ele possa conectar SMTP para entao enviar uma mensagem.

 

Peço que teste num server remoto, e me diga se houve algum erro.!!

 

Cara aproveite este exemplo e tente fazer sozinho da proxima vez que for fazer um formmail.

 

 

Espero ter ajudado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

ABC

 

Opa Gasparzinho, tudo maravilha!!

 

Testei o que você me passo e deu certo, só faltou um detalhe mas creio que consigo arrumar. É que para cada departamento será um e-mail déférénté.

 

Mas agradeço muito a tua ajuda. Já me adiantou um grande pedaço, valeu mesmo viu cara!!!

 

Me passe o seu e-mail que logo que o site estiver no ar eu te passo o link.

 

Fique com Deus, e uma ótima semana.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.