Foros del Web » Programando para Internet » PHP »

Función mail() VS cuentas prodigy.net.mx

Estas en el tema de Función mail() VS cuentas prodigy.net.mx en el foro de PHP en Foros del Web. Hola Gente: Mi problema es que cuando uso la función mail() y el destinatario es una cuenta de correo de prodigy.net.mx (un ISP muy popular ...
  #1 (permalink)  
Antiguo 04/05/2007, 12:13
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Función mail() VS cuentas prodigy.net.mx

Hola Gente:

Mi problema es que cuando uso la función mail() y el destinatario es una cuenta de correo de prodigy.net.mx (un ISP muy popular en México) no funciona.

Dado este código...
Código PHP:
$asunto "blablabla";
$mensaje "blablabla";
$cabecera "From: [email protected]";
mail("[email protected]"$asunto$mensaje$cabecera);
mail("[email protected]"$asunto$mensaje$cabecera); 
... el mensaje enviado a la cuenta de prodigy.net.mx no llega, mientras que el correo mandado a cualquier otra cuenta sí llega.

Ya probé desactivando el filtro antispam de mi cuenta de Prodigy, y tampoco. Ni siquiera llegan a la carpeta de correo no deseado.

Si pruebo con cuentas de Hotmail, Yahoo, Gmail, y al menos 5 ó 6 dominios diferentes sí funciona. Parece que sólo con Prodigy da problemas.

¿A alguien le ha pasado algo similar? Intenté con PHPMailer, pero sólo encontré una forma más complicada de llegar a lo mismo (nunca pude hacerlo por SMTP, no me salió). Soy nuevo en PHPMailer.

Lógicamente, ya probé mandarme correos desde mi e-mail (el que iría en el "From:" usando Squirrel mail y Outlook y sí funciona. Lo que me hace suponer que con el PHPMailer en modalidad SMTP debería funcionar, pero pese a que estoy poniendo según yo los datos correctos, me marca error.

Espero haberme explicado bien.

Saludos y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 04/05/2007, 12:20
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Función mail() VS cuentas prodigy.net.mx

Yo tuve un problema similar pero con las cuentas de hotmail, lo solucioné enviando el correo en formato html, en las FAQ'S tienes un ejemplo de ello, y si dices que usas la clase PHPMailer quizás este manual te sirva de ayuda.

Saludos
  #3 (permalink)  
Antiguo 04/05/2007, 12:55
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: Función mail() VS cuentas prodigy.net.mx

Hola ZydRick:

Gracias por tu respuesta. Me temo que no funcionó. Estoy usando el tutorial que me mandaste, y ni con el phpmailer ni con el correo en formato HTML funciona todavía.

Saludos :)
  #4 (permalink)  
Antiguo 04/05/2007, 13:05
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Función mail() VS cuentas prodigy.net.mx

Prueba colocando cabeceras para la funcion mail() por google consigues mucha documentación

lee esto a ver si te interesa
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #5 (permalink)  
Antiguo 04/05/2007, 13:16
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: Función mail() VS cuentas prodigy.net.mx

Hola El Cirujano:
Me temo que ya he probado con diferentes combinaciones de cabeceras y nada. Gracas de todos modos
  #6 (permalink)  
Antiguo 04/05/2007, 13:20
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 11 meses
Puntos: 3
Re: Función mail() VS cuentas prodigy.net.mx

una forma que pocos tomamos en cuenta es comunicarnos con la administracion de ciertos IPS para pedirles el modo o configuracion de cabeceras que se le deben colocar a los correos para que no sean ni marcados como SPAM o como correo no deseado...

Prueba comunicandote con ellos a ver si te responden...

Saludos
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #7 (permalink)  
Antiguo 04/05/2007, 16:42
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: Función mail() VS cuentas prodigy.net.mx

Pues ya se resolvió... la solución: phpMailer en modalidad SMTP.
Gracias a los dos.
Saludos.
  #8 (permalink)  
Antiguo 28/06/2007, 15:40
Avatar de Escoffie  
Fecha de Ingreso: abril-2003
Ubicación: Mérida, Yucatán
Mensajes: 242
Antigüedad: 21 años
Puntos: 9
Re: Función mail() VS cuentas prodigy.net.mx

Si alguien quiere saber cómo lo hice funcionar, aquí les dejo el código, mismo que está debidamente comentado. Lo tomé de otro post de por aquí (gracias Cluster).

Hay que sustituir algunos datos:
  • La dirección de correo, nombre de usuario y contraseña del SMTP.
  • La ruta hacia la clase phpMailer()
Código PHP:
<?
  
// primero hay que incluir la clase phpmailer para poder instanciar
  //un objeto de la misma
  
require "phpmailer/class.phpmailer.php"// Poner la ruta correcta

  //instanciamos un objeto de la clase phpmailer al que llamamos 
  //por ejemplo mail
  
$mail = new phpmailer();

  
//Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail

  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp que va a estar en el subdirectorio includes
  
$mail->PluginDir "phpmailer/";

  
//Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  
$mail->Mailer "smtp";

  
//Asignamos a Host el nombre de nuestro servidor smtp
  
$mail->Host "tudominio.com"// Cambiar este dato por el correcto

  //Le indicamos que el servidor smtp requiere autenticación
  
$mail->SMTPAuth true;

  
//Le decimos cual es nuestro nombre de usuario y password
  
$mail->Username "[email protected]"// Tu nombre de usuario
  
$mail->Password "******"// Tu contraseña

  //Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$mail->From "[email protected]"// Tu dirección de e-mail
  
$mail->FromName "Tu Nombre"// Tu nombre como quieres que aparezca

  //el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  
$mail->Timeout=30;

  
//Indicamos cual es la dirección de destino del correo
  
$mail->AddAddress("[email protected]"); // A dónde quieres que llegue

  //Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  
$mail->Subject "Prueba de phpmailer";
  
$mail->Body "<b>Mensaje de prueba mandado con phpmailer en formato html</b>";

  
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
  
$mail->AltBody "Mensaje de prueba mandado con phpmailer en formato solo texto";

  
//se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor true
  
$exito $mail->Send();

  
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho 
  //para intentar enviar el mensaje, cada intento se hara 5 segundos despues 
  //del anterior, para ello se usa la funcion sleep    
  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
//echo $mail->ErrorInfo;
         
$exito $mail->Send();
         
$intentos=$intentos+1;    
    
   }
 
        
   if(!
$exito)
   {
    echo 
"Problemas enviando correo electrónico a ".$valor;
    echo 
"<br/>".$mail->ErrorInfo;    
   }
   else
   {
    echo 
"Mensaje enviado correctamente";
   } 
?>
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 06:54.