Recuperar senha e enviar por email com PHP
06/08/2014
0
Olá pessoal, tudo bem ?
Estou criando uma tela para recuperar a senha de acesso por email, com PHP
o usuário preenche o input com o seu email que foi cadastrado e se existir o email no banco executa o script abaixo, porém já fiz diversos testes e, não recebo os email.
Fiz o teste para garantir se o script estava funcionando sem as linhas de envio por email, e apresentando todos os dados do usuario em tela e retorna certinho.
Quando estou executando com a função [ mail ] aparentemente parece que tudo da certo até joga na tela a mensagem que o email foi enviado com sucesso e caso não exista o email na base ele também informa na tela que o email não existe.
Alguém pode me ajudar ?
Desde já agradeço pela atenção de todos.
<?php $email = @$_POST['email']; $destinatario = $email; $remetente = "xxxxxxxxxxxxxxxxxxxx"; if ($email <> ""){ include 'conexao.Class.php'; $sql = mysql_query("SELECT nome_usuario, login_usuario, senha_usuario, email_usuario FROM usuarios WHERE email_usuario = '$email' AND status_usuario = 1 ")or die("Erro ao selecionar os dados do usuario"); $contador = mysql_num_rows($sql); if ($contador == 1){ while($resultado = mysql_fetch_array($sql)){ $nome = $resultado['nome_usuario']; $login = $resultado['login_usuario']; $email = $resultado['email_usuario']; $senha = $resultado['senha_usuario']; } $corpo_email = "Ola, o procedimento de recuperar dados, foi efetuado com sucesso !\n.."; $corpo_email .= "Seu login = ".$login."\n.."; $corpo_email .= "Senha de acesso = ".$senha."\n.."; $corpo_email .= "Seu email = ".$email."\n.. "; $corpo_email .= "Nao responda esse email, e-Mail automatizado"; @mail($destinatario,"Recuperacao de Senha",$corpo_email,$remetente); echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Sua senha foi enviada com sucesso para o email: $email.</font></div>"; }else{ echo "<div align=center><font size=2 face=Verdana, Arial, Helvetica, sans-serif>Seu login ou email está incor reto.</font></div>"; } }
Preto Filho
Posts
06/08/2014
Ronaldo Lanhellas
1 - Não sei se você digitou errado mas o certo é "mail" e não "@mail";
2 - Habilita o log de erro para ver se ocorre algum erro no envio do email: ini_set('display_errors', 'On');
3 - faz o seguinte teste:
if mail(parametros) { echo "enviado"; }else{ echo "nao enviado"; }
4 - Checa de as configurações do mail estão corretas no php.ini
PS: Aconcelho você deixar de lado o "mail" e usar o PhpMailer (https://github.com/PHPMailer/PHPMailer) que envia emails com autenticação, mas seguros e confiáveis.
06/08/2014
Preto Filho
Olá Ronaldo, obrigado pelo retorno .
Coloquei o [ @ ] porque estava gerando uma mensagem de erro, ai para forçar adicionei o [ @ ] na frente da função para parar o erro
Vou testar a sua dica com o PHPMailer.
Assim que possível, retorno ;
Desde já agradeço pela sua atenção;
06/08/2014
Ronaldo Lanhellas
Olá Ronaldo, obrigado pelo retorno .
Coloquei o [ @ ] porque estava gerando uma mensagem de erro, ai para forçar adicionei o [ @ ] na frente da função para parar o erro
Vou testar a sua dica com o PHPMailer.
Assim que possível, retorno ;
Desde já agradeço pela sua atenção;
De nada, o PHPMailer vai lhe ser bem mais útil :D
Clique aqui para fazer login e interagir na Comunidade :)