Foros del Web » Programando para Internet » PHP »

mail(), no envia.

Estas en el tema de mail(), no envia. en el foro de PHP en Foros del Web. quiero hacer un sistema de usuarios donde se envia un password aleatorio a la cuenta de mail del que se registra, junto con un link ...
  #1 (permalink)  
Antiguo 13/07/2004, 06:59
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 13 años, 10 meses
Puntos: 8
mail(), no envia.

quiero hacer un sistema de usuarios donde se envia un password aleatorio a la cuenta de mail del que se registra, junto con un link para activarla.

parte del código:

if(!$sql){
echo 'Ha sucedido un error creando tu cuenta de usuario. Por favor contacta con el administrador.';
} else {
$userid = mysql_insert_id();
$subject = "Registro en la web";
$message = "Hola $nom $ape,
Gracias por registrarte en www.mipagina.com,

Para continuar con tu registro,
sigue el enlace: http://www.mipagina.com/archivos/activar.php?id=$id&code=$clave

una vez activado debes usar estos datos:

Usuario: $nusu
Password: $pass


Gracias!

Esto es una respuesta automática, por favor no responder!";

mail($mail, $subject, $message,
"From: Webmaster <[email protected]>\n X-Mailer: PHP/" . phpversion());
echo 'La información de tu cuenta ha sido enviada a ',$mail,' . Sigue las instrucciones para proceder al registro.';
}

Al registrarse un usuario aparece el mensaje de que el email ha sido enviado pero a la cuenta de mail no llega nada.

El servidor donde tengo hospedada mi página tiene los siguientes parámetros en el php.ini:

sendmail_from no value
sendmail_path /var/qmail/bin/qmail-inject
SMTP localhost

Alguna posible solución?
  #2 (permalink)  
Antiguo 13/07/2004, 08:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa la función mail() bajo un condicional (if mail() ...) .. esto te ayudará a saber si tu mail() (PHP) pudo entregar el archivo al "MTA" (a ese "qmail" que usan en tu servicio de Hosting).

Pero, esto no te asegurará que el e-mail salga desde ese MTA y/o llegue a su destinatario final. Ese punto en concreto lo gestionará los administradores de tu servicio de hosting. PHP vía mail() no tiene forma de saber la respuesta de ese MTA ante los reintentos (relay) que pueda hacer para intentar enviar el e-mail .. sólo puede saber "te lo entregué .. es todo tuyo". pero nada más.

Un saludo,
  #3 (permalink)  
Antiguo 13/07/2004, 09:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Ademas de comprobar el valor devuelto por mail(), tambien puede pasar que tu email este siendo tomado por spam por algun filtro antispam (si estas probando con una cuenta de hotmail posiblemente pase eso).

Prueba a enviarte un email sencillo usando solo la funcion mail() y poniendo los campos directamente (y a una direccion no-hotmail).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 08:15.