Ir para conteúdo

POWERED BY:

Arquivado

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

saulo-jitsu

Envio de senha por email

Recommended Posts

Pessoal, tenho q fazer um daqueles "lembrar senha" onde o usuário digita o endereço de e-mail cadastrado e recebe, nesse endereço, uma resposta com a senha dele.

Achei esse código e adaptei pra mim (ou tentei né, rs) só q ele naum envia de fato o email.

Dêem uma força aih.

Abraços

 

<?PHP#include "configuracao.php";$email = $_POST['email'];echo "e-mail:" . $email; // testei pra ver se tava pegando direitinho o email do form, e tava!$nome_webmaster = "Eu";$email_do_webmaster = "eu@eu.com.br";$nomedosite = "MeuSite";$linkdosite = "http://www.meusite.com.br";if ($submit){   if (!$email){	 $erro = "O E-mail esta em Branco !!";   } else if (strpos ($email, "@")) {	 $email = $email;   } else {	 $erro = "Desculpe, mais o seu email esta invalido!!";   }   if (!$erro){    	   mysql_select_db($database_Clage, $Clage);	   $sql = mysql_query("SELECT * FROM Usuarios WHERE email='$email'");	   $total = mysql_num_rows($sql);	   if ($total == 1){   		   $senha = mysql_result($sql,0,campo_da_senha);		   $usuario = mysql_result($sql,0,campo_do_usuario);		   $enviar = "Lembrar Senha!!! ".$nomedosite."\n";		   $enviar .= $usuario;		   $enviar .= "\n";		   $enviar .= $senha;		   $enviar .= "\n";		   $enviar .= "Obrigado!!\n\n ".$nome_webmaster."\n\n";		   $enviar .= "					  ".$linkdosite."\n";		   $enviar .= " \n";		   $enviar .= "		Webmaster: ".$email_do_webmaster."\n";	   mail("$email", "[$nomedosite][- Lembrar Senha]", $enviar,"From: $email_do_webmaster <$nomedosite>\n");	   $erro = "Sua senha foi enviada para sua conta de email com sucesso! Obrigado !";	   }else{	   $erro = "Desculpe! Seu e-mail não esta cadastrado em nosso site ou Talves você tenha se cadastrado com outro		  email! ";	   }   }}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acima desse código, eu chamo um arquivo de conexão (to usando dw):

 

<?php require_once('Connections/Conexao.php'); ?>

Esse arquivo de conexão é assim:

 

<?php# FileName="Connection_php_mysql.htm"# Type="MYSQL"# HTTP="true"$hostname_Clage = "localhost";$database_Clage = "clage";$username_Clage = "root";$password_Clage = "senha";$Clage = mysql_pconnect($hostname_Clage, $username_Clage, $password_Clage) or trigger_error(mysql_error(),E_USER_ERROR); ?>

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

saulo você nao vai conseguir enviar com localhost, mesmo que você use o send mail você tera problemas com quem tem emails do hotmail.você tem um site no ar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

saulo você nao vai conseguir enviar com localhost, mesmo que você use o send mail você tera problemas com quem tem emails do hotmail.você tem um site no ar ?

Ele não está no ar não.Como eu estou desenvolvendo, to com ele em localhost só.É esse o problema???[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente colocando mais alguns header, veja aqui. Não sei se o membro deste tópico tentou com a minha dica mas eu utilizo assim e funciona normalmente.

 

Caso você esteja realmente rodando local, você deve configurar seu php.ini de forma que envie e-mail por SMTP.

 

Flws...

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente colocando mais alguns header, veja aqui. Não sei se o membro deste tópico tentou com a minha dica mas eu utilizo assim e funciona normalmente.

 

Caso você esteja realmente rodando local, você deve configurar seu php.ini de forma que envie e-mail por SMTP.

 

Flws...

:D

Cara, perdoe minha ignorancia... mas como eu utilizo esses headers?

Eu vi o post q você mandou, mas naum entendi onde coloco eles na minha msg.

Vlw a ajuda!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicione este código antes de chamar a função mail():

$headers  = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "From: Fulano <fulano@dominio.com>\n";$headers .= "Reply-To: Fulano <fulano@dominio.com>\n";$headers .= "X-Sender: <fulano@dominio.com>\n";$headers .= "X-Mailer: PHP\n";$headers .= "Return-Path: <fulano@dominio.com>\n";$headers .= "MIME-Version: 1.0\n";
Faça as devidas alterações e na função mail(), no quarto parâmetro, coloque $headers.

 

Flws...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, neste caso você tem que alterar os dados de SMTP do seu php.ini.

 

Altere os valores de SMTP, smtp_port (valor padrão é 25) e sendmail_from.

 

Flws...

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Saulo meu velho.. tenho um prontinho e funfando..

 

segue o codigo

Mas lembre-se de testar como o site no ar ok??

<?PHP#Banco de Dados$bd_host = "localhost"; // nome do host do hospediro do Banco de dados //$bd_user = "USUARIO DO SEU BANCO"; // nome do usuario do Banco de dados //$bd_pass = ""; // Senha do Banco de dados //$bd_banco_de_dados = "NOME DO BD"; // Nome do Banco de dados //$tabela = "NOME DA TABELA"; // nome da tabela onde deve ser procurado a senha#Webmaster$nome_webmaster = "SEU NOME";$email_do_webmaster = "suporte@esportevida.com";#Site$nomedosite = "EsporteVida";$linkdosite = "http://www.esportevida.com.br";?><?if ($submit){ #Verificar se o Formulario foi enviado !!if (!$email){ #Verificar se o email possue @ Senão anvia msg de email invalido!!$erro = "O E-mail esta em Branco !!";} else if (strpos ($email, "@")) {$email = $email; } else {$erro = "Desculpe!, mais o seu email esta inválido!!";}if (!$erro){ #Senão exite erros ! Procura o email no banco de dados$conectar = mysql_connect($bd_host, $bd_user, $bd_pass) or die (mysql_error());mysql_select_db($bd_banco_de_dados, $conectar);$sql = mysql_query("SELECT * FROM $tabela WHERE email = '$email'");$total = mysql_num_rows($sql); # Conta quantos emails foram encontrados na busca -- query!if ($total == 1){ # Se o total de emial for igual a 1 ele envia a senha por email se for diferente de 1 # Envia uma msg de erro ! while($l = mysql_fetch_array($sql)) {# Aqui você deve colocar os dados que você quer retirar da tabela do Banco de dados# Aqui eu retirei os campos usuario, nome, e senha, Basta você mudar os dados $l[x]; onde x = qualquer campo # do seu banco de dados !$enviar = "Sua senha de acesso é :   ".$l[senha];}mail("$email", "[$nomedosite][Lembrar Senha]", $enviar,"From: $email_do_webmaster <$nomedosite> ");$erro = "Sua senha foi enviada para sua conta de email com sucesso! Obrigado !";}else{$erro = "Desculpe! Seu e-mail não esta cadastrado em nosso site ou Talves você tenha se cadastrado com outro email! ";}}}?><title>Esqueci minha Senha</title><table width="382" border="0" cellspacing="2" cellpadding="2">  <tr>	<td><form method="post" action="<? echo $PHP_SELF; ?>">	  <div align="left">		<? if ($erro){ echo $erro; } # Msg de erro de acordo com o erro ! ?>		<p><font color="#000000" size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif, Trebuchet MS">Lembrar Senha</font></b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Trebuchet MS"> - Digite seu e-mail, </font></p>		<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Trebuchet MS"><b><font color="#000000">e-mail:</font></b>			<input type="text" name="email">		</font></p>		<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Trebuchet MS">A senha chegará em seu e-mail. Caso esqueceu todas as suas senhas.<bR />  Entre em contato com o responsável do Site. </font></p>		<p>		  <input type="submit" name="submit" value="Enviar" width="150">		</p>	  </div>	</form></td>  </tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahhh pode crer meu velho..Mas vai por mim que esta funcionando sim esse script..Estou usando ele em alguns sites.www.conservatoriochopin.com.brentre outros..Como você me ajudou no meu topico.. faço questão em te ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehetranquilo cara!é que eu queria testar pra ver o formato do email e as alterações que eu fiz nos nomes e tals.ah, e esse problema q eu to tendo é pq o meu cliente cliente não tem suporte pra php... na verdade tem, mas o servidor dele é mto enrolado e tirou o suporte..rsAbração

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.