Foros del Web » Programando para Internet » PHP »

Duda con mail()

Estas en el tema de Duda con mail() en el foro de PHP en Foros del Web. Hola Estoy viendo que la función mail() da un valor entero $valor=mail(); Si se envia correctamente el valo de $valor es 1; y segun mi ...
  #1 (permalink)  
Antiguo 06/10/2006, 02:11
 
Fecha de Ingreso: septiembre-2003
Mensajes: 43
Antigüedad: 20 años, 7 meses
Puntos: 0
Duda con mail()

Hola

Estoy viendo que la función mail() da un valor entero

$valor=mail();

Si se envia correctamente el valo de $valor es 1;
y segun mi librito si no envía el valor es 0;

Pero he realizado el envío de correos con mail(); ha un correo que
existe y otro correo a un correo que no existe y en los dos casos
me sale 1-1(Envio Corrrecto-Envio Correcto);
cuando creo que me deberia salir 1-0(Envio Correo-Envio Incorrecto)

El asunto es que quiero saber a que correos de una lista le llega
una carta y a que correo no le llegua; y no se como hacerlo

Si alguien me entendio por favor que me ayude

saludos
  #2 (permalink)  
Antiguo 06/10/2006, 09:06
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Hasta donde tengo entendido la funcion mail() se limita a enviar a la direccion de correo los datos ke se han procesado correctamente en un formulario sin importar si el mail del destinatario existe o no, en caso ke no exista, le llegara un "notice failure" al correo del remitente.

Desconozco si exista alguna funcion o script ke analice antes si un email existe o no, caso contrario seria bueno saberlo, espero haber resuelto en algo tu duda

Saludos
  #3 (permalink)  
Antiguo 06/10/2006, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
ZydRick esta en lo correcto, de hecho siempre y cuando el email parezca valido mail tratara de enviarlo y regresara true (o 1), seria algo asi:
Código PHP:
if( mail"[email protected]""Prueba""Prueba" ) ) {
   echo 
"Enviado!";

La funcion mail te regresa true cuando el mensaje fue exitosamente enviado al servidor smtp y el servidor smtp acepto el correo para encargarse de llevarlo, o false cuando no.

Piensa en correo local, es como si tu llevaras tu paquete a la tienda de envio, el encargado te recibe tu paquete y ahi es donde tu funcion termina y regresaria "true", pero si al enviar tu paquete la compañia no encuentra la direccion o no existe, ya se comunicara con el "remitente" para informarle que no existe.

Asi es como funciona mail, es identico. Espero esto resuelta tus dudas.
  #4 (permalink)  
Antiguo 06/10/2006, 12:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 43
Antigüedad: 20 años, 7 meses
Puntos: 0
Ok, gracias .. pero

OK, gracias por las respuestas;


pero tengo algunas dudillas; que servidor acepta el envío el STMP emisor
o el STMP receptor; (lo siento si digo una pachotada)

Dos he probado poniendo [email protected]; un correo que no existe
y me sigue saliendo envío correcto; ojo que ese correo no existe..

He puesto "xxsxdddd" como correo y también me sigue enviando
correctamente; entonces que es lo que valida la función mail()

Gracias

Angel
  #5 (permalink)  
Antiguo 06/10/2006, 13:13
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Cita:
He puesto "xxsxdddd" como correo y también me sigue enviando
correctamente; entonces que es lo que valida la función mail()
En ese caso deberias programar una funcion ke valie ke la direccion de correo escrita sea la correcta([email protected]) no importando si exista el mail o no el formato de email debe ser el correcto y la funcion mail deberia enviarlo, te pongo un pekeño ejemplo de validacion de email ke te pueda servir

Código PHP:
<?
    
if ( ereg "[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3} "$email )) {
        echo 
"El correo ".$email." es correcto";
    }
    else {
        echo 
"El correo ".$email." tiene errores";
    }
?>
Esa funcion lo ke hace es validar si la direccion de correo es la correcta(ojo me refiero a ke el formato de es el correcto, no ke la direccion exista).

Saludos
  #6 (permalink)  
Antiguo 06/10/2006, 13:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por anggelito Ver Mensaje
He puesto "xxsxdddd" como correo y también me sigue enviando
correctamente; entonces que es lo que valida la función mail()
Ya lo dijeron, bastante claro...
Cita:
Iniciado por GatorV Ver Mensaje
La funcion mail te regresa true cuando el mensaje fue exitosamente enviado al servidor smtp y el servidor smtp acepto el correo para encargarse de llevarlo, o false cuando no.

Piensa en correo local, es como si tu llevaras tu paquete a la tienda de envio, el encargado te recibe tu paquete y ahi es donde tu funcion termina y regresaria "true", pero si al enviar tu paquete la compañia no encuentra la direccion o no existe, ya se comunicara con el "remitente" para informarle que no existe.
Reviza las FAQ, hay un par de funciones para validar correos, no solo su "sintáxis" ([email protected]) sino --si cumples los requerimentos-- que el correo exista .

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 06/10/2006, 16:52
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Hola jam, la funcion ke mencionas lo ke hace es analizar si el nombre de dominio de la direccion de email ingresada existe, pero hay ke darse cuenta ke muchos usuarios de puro payaseo pueden colocar como correo algo como: [email protected] para dicha funcion este email es correcto y por tanto la funcion mail() le envia el correo a dicha direccion.

Saludos
  #8 (permalink)  
Antiguo 06/10/2006, 19:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por ZydRick Ver Mensaje
la funcion ke mencionas lo ke hace es analizar si el nombre de dominio de la direccion de email ingresada existe
Exácto , gracias por el apunte, no fuí claro en eso...

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 23:25.