Foros del Web » Programando para Internet » PHP »

recuperar contraseña

Estas en el tema de recuperar contraseña en el foro de PHP en Foros del Web. hola. tengo una duda con este error ( ! ) Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" ...
  #1 (permalink)  
Antiguo 27/04/2012, 09:42
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 1
recuperar contraseña

hola.
tengo una duda con este error
( ! ) Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\sistdeusuariosv2.zip\recuperar.php on line 31

este es el codigo de envio de email: para recuperar
Código PHP:

<?php
if(isset($_POST['button'])){
    if(
$_POST['mail']){
        
        
$mail htmlentities($_POST['mail']);
        
        
$link mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname,$link);
        
        
$queEmp "SELECT * FROM usuarios WHERE email='$mail'";
        
$resEmp mysql_query($queEmp$link) or die(mysql_error());
        
$totEmp mysql_num_rows($resEmp);
        if(
$totEmp == 0){
            echo 
"El mail ingresado no existe";
            exit();
        }        
        else{
            
$row mysql_fetch_assoc($resEmp);
            
$hash md5(md5($row['username']).md5($row['password']));

            
$headers "From:Recuperar password <[email protected]>\r\n";  
            
$message "Para recuperar tu contrasenia dar click en la url de abajo.
            http://www.tuweb.com/pass.php?id="
.$hash."&mail=".$mail."";
        
        if (
mail($mail,"Recuperar password",$message,$headers)){
        
$msg "Se te envio un link a tu mail para cambiar la password";
        }
        }
    }
}
la linea 31 es :
if (mail($mail,"Recuperar password",$message,$headers))

a mi correo no me llega nada, ayuda porf.
  #2 (permalink)  
Antiguo 27/04/2012, 09:49
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar contraseña

Tienes configurado algúns ervidor de salida?. El error que te da es del SMTP que es el server de envío de correo, el prótocolo simple de transferencia.
Yo tuve el mismo problema alguna vez para enviarme correos desde localhost, descargué e instale Argosoft como server SMTP, descargalo desde acá
http://www.argosoft.com/rootpages/Download.aspx
Lo instalas y después prueba enviar un correo.

Saludos
  #3 (permalink)  
Antiguo 27/04/2012, 12:18
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: recuperar contraseña

yo uso el wampserver 2.1 se puede configurar para que no pase este mensaje de error
  #4 (permalink)  
Antiguo 27/04/2012, 12:22
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar contraseña

El wamp (Windows, Apache, Mysql y Php)... Es un paquete que trae todo lo necesario para trabajar con php y mysql.
Debes configurar el php.ini, pero nunca lo he intentado...
El Argosoft es Servidor de transeferencia de e-mail; lo que hace es que te ayuda a que los mensajes te lleguen a destino.
ASí no intervienes el php.ini

Saludos
  #5 (permalink)  
Antiguo 27/04/2012, 13:03
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: recuperar contraseña

como puedo saber si el problema es de servidor de salida o del codigo

este es el codigo:: chejeenlo porfa para descartar
Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. if($_SESSION["logeado"] == "SI"){
  4. header ("Location: inicio.php");
  5. }
  6. ?>
  7. <?php
  8. if(isset($_POST['button'])){
  9.     if($_POST['mail']){
  10.        
  11.         $mail = htmlentities($_POST['mail']);
  12.        
  13.         $link = mysql_connect ($dbhost, $dbusername, $dbuserpass);
  14.         mysql_select_db($dbname,$link);
  15.        
  16.         $queEmp = "SELECT * FROM usuarios WHERE email='$mail'";
  17.         $resEmp = mysql_query($queEmp, $link) or die(mysql_error());
  18.         $totEmp = mysql_num_rows($resEmp);
  19.         if($totEmp == 0){
  20.         echo "El mail ingresado no existe";
  21.         exit();
  22.         }      
  23.        
  24.         $row = mysql_fetch_assoc($resEmp);
  25.         $hash = md5(md5($row['username']).md5($row['password']));
  26.  
  27.         $headers = "From:Recuperar password <[email protected]>\r\n";  
  28.         $message = "Para recuperar tu contrasenia dar click en la url de abajo.
  29.         http://www.tuweb.com/pass.php?id=".$hash."&mail=".$mail."";
  30.        
  31.         if (mail($mail,"Recuperar password",$message,$headers)){
  32.         $msg = "Se te envio un link a tu mail para cambiar la password";
  33.         }
  34.     }
  35. }
  36. ?>
  37. <em><?=$msg?></em>
  38. <form id="form1" name="form1" method="post" action="recuperar.php">
  39.   Tu email<br />
  40.   <input type="text" name="mail" id="mail" />
  41.   <br />
  42.   <br />
  43. <input type="submit" name="button" id="button" value="Recuperar" />
  44. </form>
  #6 (permalink)  
Antiguo 27/04/2012, 13:12
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar contraseña

donangelomix, lo que pasa es que tú tienes la base de datos,el otro script recuperar.php, etc...
Instalaste el argosoft?, pruébalo... pesa 2,6 Mb, lo descargas e instalas

Si estás trabajando desde http://localhost
díficilmente te van a salir correos si no tienes configurado un servidor SMTP. en tu máquina local jamás te van a salir los correos, y los problemas van a seguir siendo el mismo que muestras al principio.

Saludos
  #7 (permalink)  
Antiguo 27/04/2012, 13:14
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar contraseña

En este mensaje te deja claro que el error que te arroja es del SMTP

Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini

Luego que tengas tu server corriendo, ahí verás si tienes problemas en tu código

Suerte

Swab
  #8 (permalink)  
Antiguo 27/04/2012, 13:18
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: recuperar contraseña

hice lo que me dijiste pero resulta que ahora me envia el email para recuperar contraseña a algunos buzones osea al correoweb de mixmail, yahoo no envia pero al de terramail si envia ..como puedo programar para remediar esto y que envie a todos los buzones
  #9 (permalink)  
Antiguo 27/04/2012, 13:28
Avatar de Swab  
Fecha de Ingreso: agosto-2008
Ubicación: Chiloé
Mensajes: 92
Antigüedad: 15 años, 8 meses
Puntos: 5
Respuesta: recuperar contraseña

Puede que se deba los anti-spam que tienen.
A hotmail te llega, aunque sea a no deseados?

Saludos
  #10 (permalink)  
Antiguo 27/04/2012, 13:49
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: recuperar contraseña

al hotmail si llegan ala carpeta de no deseados,

Etiquetas: contraseña, html, mysql, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:58.