Ir para conteúdo

Arquivado

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

Mel  Nunes

Esqueci senha recuperar com função mail via local configuração dando e

Recommended Posts

Pessoal preciso urgentemente de um sistema de recuperar senha já fiz n coisas, já vi diversos posts sobre esse assunto e não da certo. Fiz pelo mail mas coloquei um e-mail do gmail fui lá no php.ini fiz tudo e nada da certo preciso que a pessoa receba um e-mail com seu dados e a senha esquecida via localhost postgres estava assim:

 

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: Portal <meunome@gmail.com>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .="exPriority:1\n..";//prioridade e-mail
if(mail("meunome@gmail.com",$destinatario,$assunto, $corpo, $headers)){ Ta dando erro aqui no sendmail php.ini
php.ini
[mail function]
; For Win32 only.
SMTP = localhost aqui tinha colocado smtp.gmail.com
smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com Aqui tinha colocado meu email
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =
Só que ontem a noite estudando muito essa parte vi que tem um sendmail para baixar descompactar e por o caminho path baixei um mais o arquivo tava incompleto então preciso de ajuda realmente. Vocês sabem uma maneira mais fácil tipo com phpmailer sei fazer para enviar e-mails, mas como coloco um metodo para mostra a senha do usuario do banco em seu email quando digitar seu e-mail abrir lá ta a senha e tal. Já fiz de diversas maneiras se alguém puder me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc não precisa mexer no seu php.ini

baixa o PHPmailer https://github.com/S...hive/master.zip

Nele tem exemplo bem simples na pasta EXEMPLES

<?php
    require 'PHPMailerAutoload.php';
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->SMTPDebug = 0;
    $mail->Debugoutput = 'html';
    $mail->Host = "smtp.gmail.com.br";
    $mail->Port = 587;
    $mail->SMTPAuth = true;
    $mail->IsHTML(true);
    $mail->Username = "email_do_remetente@gmail.com";
    $mail->Password = "senha";
    $mail->setFrom('email_do_remetente@gmail.com', 'nome do remetente');
    $mail->addAddress('email_do_destinatario@email.com.br', 'nome do destinatario');
    $mail->Subject = 'Titulo do email';
    $mail->Body = 'teste de mensagem no corpo do email';
    
    //send the message, check for errors
    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Enviado";
    }
?>

http://forum.imasters.com.br/topic/538733-envio-de-e-mail-autenticado-e-valido/

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

você não precisa mexer no seu php.ini

baixa o PHPmailer https://github.com/S...hive/master.zip

Nele tem exemplo bem simples na pasta EXEMPLES

<?php
    require 'PHPMailerAutoload.php';
    $mail = new PHPMailer;
    $mail->isSMTP();
    $mail->SMTPDebug = 0;
    $mail->Debugoutput = 'html';
    $mail->Host = "smtp.gmail.com.br";
    $mail->Port = 587;
    $mail->SMTPAuth = true;
    $mail->IsHTML(true);
    $mail->Username = "email_do_remetente@gmail.com";
    $mail->Password = "senha";
    $mail->setFrom('email_do_remetente@gmail.com', 'nome do remetente');
    $mail->addAddress('email_do_destinatario@email.com.br', 'nome do destinatario');
    $mail->Subject = 'Titulo do email';
    $mail->Body = 'teste de mensagem no corpo do email';
    
    //send the message, check for errors
    if (!$mail->send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Enviado";
    }
?>

http://forum.imasters.com.br/topic/538733-envio-de-e-mail-autenticado-e-valido/

 

Olá Wolfphw, sim eu tenho essa pasta exemples e tenho um formulário de contato com phpmailer fiquei na dúvida de como mostrar por e-mail os dados de como pegar o login e senha e mostrar no email. Tem algum ex de recuperação de senha pegando dados php do banco e utilizando ele já fiz n coisas e não funcionou agora estou querendo fazer do zero novamente creio que com função mail deve ser mais complicada pelo que vi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue exemplo do 0 para enviar senha para e-mail do solicitante, utilizando o modelo de envio de e-mail do wolfphw

 

Formulário em HTML

<html>
	<body>
		<form action="consulta.php" method="GET">
			Digite o e-mail para recuperar a senha <input type="text" name="email" value=""><br/>
			<input type="submit" value="Enviar">
		</form>
	</body>
<html>

script consulta.php

<?php

	/* Recupera senha e envia e-mail */
	
	
	$email = $_GET['email']; // Recupera email informado do formulario
	
	/* Cria conexão com banco de dados */
	$con = mysql_connect("localhost", "user", "senha");
	mysql_select_db("nome_da_base", $con);
	
	/* Pesquisa por e-mail informado e retorna senha */
	$sql = "SELECT senha FROM usuarios WHERE email = " . $email;
	$resp = mysql_query($sql, $con);
	
	if (mysql_num_rows($resp) > 0)
	{
		$senha = '';
		while($r = mysql_fetch_array($resp))
		{
			$senha = $r['senha'];
		}
		
		$conteudo_email = 'Sua senha é: ' . $senha;
		
		/*  Com a senha em mãos envia no corpo do e-mail  */
		
		/* Ex de envio informado pelo: wolfphw */
		require 'PHPMailerAutoload.php';
		$mail = new PHPMailer;
		$mail->isSMTP();
		$mail->SMTPDebug = 0;
		$mail->Debugoutput = 'html';
		$mail->Host = "smtp.gmail.com.br";
		$mail->Port = 587;
		$mail->SMTPAuth = true;
		$mail->IsHTML(true);
		$mail->Username = "email_do_remetente@gmail.com";
		$mail->Password = "senha";
		$mail->setFrom('email_do_remetente@gmail.com', 'nome do remetente');
		$mail->addAddress('email_do_destinatario@email.com.br', 'nome do destinatario');
		$mail->Subject = 'Titulo do email';
		$mail->Body = $conteudo_email;
		
		//send the message, check for errors
		if (!$mail->send()) {
			echo "Mailer Error: " . $mail->ErrorInfo;
		} else {
			echo "Enviado";
		}
	} else 
	{
		echo 'E-mail não encontrado na base';
	}
?>

O exemplo é simples, mas se ajustar a conexão com o teu banco e o código de envio de e-mail deve funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

To tentando transformar aqui para usar esse código no postgres. Ta dando esse erro:

Fatal error: Call to undefined function pg_select_db() in C:\Program Files\PostgreSQL\EnterpriseDB-ApachePHP\apache\www\portal\recupera.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa desse comando pg_select_db("portal", $con); você já definiu a base de dados 'portal' na linha de cima, no comando pg_connect()

 

Na linha que está assim:

$pg = "SELECT senha FROM cadastro WHERE email = " . $email;

Coloque assim:

$pg = "SELECT senha FROM cadastro WHERE email = '" . $email . "'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um maneira mais simples de fazer é com o código abaixo, ele está testado e 100% funcional e não precisa mexer em qualquer outra configuração do PHP.

 

 

<?php
// Sua conexão com banco de dados
require_once("conection.php");
// Pega valor do campo
$emailRecupera = $_POST['emailRecupera'];
// Faz a consulta por aquele valor inserido no campo acima
$sql1 = mysql_query("SELECT Email FROM TABELA where Email='$emailRecupera'");
// Verifica se aquele email existe.
if(mysql_num_rows($sql1) == 0 ){
// se igual a 0 vai mostrar essa mensagem
echo '<script>alert("Email Incorreto ou Usuário Não Existe !!!");location.href=("../index.php");</script>';
}else{
// Se encontrar um índice pega as informações e ele envio os dados
$sql2 = mysql_query("SELECT *FROM TABELA where Email='$emailRecupera'");
// Aqui você chama as informações que serão enviadas
while($res = mysql_fetch_array($sql2)){
// No meu caso foram essas
$nome = $res['Nome'];
$login = $res['Email'];
$senha = $res['senha'];
}
$data = date('d/m/Y H:i');
// Na variável $mensagem vai as informações de recuperação como email, senha ou qualquer dados que é chamado no select acima
// Lembre-se de adicionar a variável $data no fim da mensagem para evitar de o email ser classificado como SPAM
$mensagem = "";
// Email que fará o envio para quem solicitar os dados
$para = 'email@email.com';
// Assunto do email
$assunto = 'Assunto';
$header = "From: $para\n";
$header .= "Content-Type: text/html; charset=\"utf-8\"\n\n";
if(@mail($emailRecupera,$assunto,$mensagem,$header)){
echo '<script>alert("Email de Recuperação enviado com sucesso !!!");location.href=("../index.php");</script>';
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Não precisa desse comando pg_select_db("portal", $con); você já definiu a base de dados 'portal' na linha de cima, no comando pg_connect()

 

Na linha que está assim:

$pg = "SELECT senha FROM cadastro WHERE email = " . $email;

Coloque assim:

$pg = "SELECT senha FROM cadastro WHERE email = '" . $email . "'";

Agora ta dando seguinte erro:

 

 

Warning: pg_query() expects parameter 1 to be resource, string given in C:\Program Files\PostgreSQL\EnterpriseDB-ApachePHP\apache\www\portal\recupera.php on line 19

 

Warning: pg_num_rows() expects parameter 1 to be resource, null given in C:\Program Files\PostgreSQL\EnterpriseDB-ApachePHP\apache\www\portal\recupera.php on line 21

E-mail não encontrado na base

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

É porque no método pg_query você primeiro passa conexão, depois a query

 

Troque

$resp = pg_query($pg, $con);

Por

$resp = pg_query($con, $pg);

 

o phpmailer ta na pasta contato ai pus o caminho assim antes não tava encontrando ai arrumei

 

require('contato/phpmailer/PHPMailerAutoload.php');

 

Mas

Deu esse erro:

 

Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

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