Foros del Web » Programando para Internet » PHP »

No llegan correos con la funcion mail()

Estas en el tema de No llegan correos con la funcion mail() en el foro de PHP en Foros del Web. Hola amigos, vengo aqui solicitando su ayuda para solucionar este problema, tengo un codigo que funciona cuando ciertas condiciones se cumplen en una tabla de ...
  #1 (permalink)  
Antiguo 28/12/2012, 12:14
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 7 años, 2 meses
Puntos: 2
Pregunta No llegan correos con la funcion mail()

Hola amigos, vengo aqui solicitando su ayuda para solucionar este problema, tengo un codigo que funciona cuando ciertas condiciones se cumplen en una tabla de mysql, cuando se cumple se activa la función mail() y envía un correo, el problema es que no llegan los correos, la función me devuelve un valor TRUE, es decir el programa me dice que el email si se envío, pero no llegan los correos a las direcciones deseadas.

Ya configure mi servidor con las cosas necesarias para que envié los correos, pero aun asi no llegan, quisiera saber si alguno de ustedes ha tenido algún problema con esto y si lo pudo solucionar.

Estoy usando una maquina con XP como servidor, ya tiene configurado en herramientas administrativas/servicios de Internet/servidor SMTP predeterminado/propiedades/retransmisión y agregadas la ip del servidor y la ip 127.0.0.1

Ya cambie la configuración que debe de ir en el php.ini también.

Aquí les dejo mi codigo:

Código PHP:
Ver original
  1. $asunto = "Solicitud aceptada";
  2.     $cuerpo = "Su solicitud con numero $nosis ah sido aceptada.";
  3.     $encabezado = "From: [email protected]";
  4.  
  5. //Enviar correo de confirmacion al cliente cuando la solicitud haya sido aceptada por los tres departamentos
  6.        
  7.             $estados = "SELECT * FROM estados WHERE nosis='$nosis'";
  8.    
  9.             $resultado = mysql_query($estados,$conexion);
  10.            
  11.             while($fila = mysql_fetch_array($resultado)){
  12.            
  13.                 if($fila['es_dist']=="Aceptada" && $fila['es_pla'] =="Aceptada" && $fila['es_med']=="Aceptada"){
  14.                
  15.                         $select = "SELECT * FROM clientes WHERE solicitud_no='$nosis'";
  16.                        
  17.                         $result = mysql_query($select,$conexion);
  18.                        
  19.                         while($fila2 = mysql_fetch_array($result)){
  20.                        
  21.                             $destinatario = $fila2['correo'];
  22.                             if(mail ($destinatario, $asunto ,$cuerpo, $encabezado)){
  23.                                 echo "<div align='center'>
  24.                                 <br>
  25.                                 <b>La solicitud con numero $nosis ha sido aceptada por los 3 departamentos y se le ha enviado un correo de confirmacion al cliente.</b>
  26.                                 <br>
  27.                                 </div>";
  28.                             }else{
  29.                                 echo "<div align='center'>
  30.                                 <br>
  31.                                 <b>Correo no enviado</b>
  32.                                 <br>
  33.                                 </div>";
  34.                             }
  35.                         }
  36.                 }

Mil gracias!!
  #2 (permalink)  
Antiguo 28/12/2012, 12:20
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 11 años, 1 mes
Puntos: 12
Respuesta: No llegan correos con la funcion mail()

Quizás el servidor SMTP está mal configurado y no envía correos debieras revisar esto con alguna herramienta independiente del PHP como outlook por ej.

Saludos
__________________
No hay mail que por internet no venga
  #3 (permalink)  
Antiguo 28/12/2012, 12:29
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 7 años, 2 meses
Puntos: 2
Respuesta: No llegan correos con la funcion mail()

Cita:
Iniciado por cosmo_ Ver Mensaje
Quizás el servidor SMTP está mal configurado y no envía correos debieras revisar esto con alguna herramienta independiente del PHP como outlook por ej.

Saludos
Gracias por responder cosmo_, es correcto lo mas seguro es que el SMTP este mal configurado, te agradecería mucho si me dijeras como puedo comprobarlo a través de Outlook?
  #4 (permalink)  
Antiguo 28/12/2012, 12:31
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 9 años, 10 meses
Puntos: 20
Respuesta: No llegan correos con la funcion mail()

Has buscado en el log? puede ser que el firewall lo este parando.
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #5 (permalink)  
Antiguo 28/12/2012, 12:37
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 7 años, 2 meses
Puntos: 2
Respuesta: No llegan correos con la funcion mail()

Cita:
Iniciado por bet7o Ver Mensaje
Has buscado en el log? puede ser que el firewall lo este parando.
Gracias por tu respuesta bet7o, no e buscado en el log, disculpa estoy comenzando a trabajar con php y no se aun muchas cosas, como puedo le hago buscar en el log para saber si el firewall lo esta bloqueando?
  #6 (permalink)  
Antiguo 28/12/2012, 12:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 365
Antigüedad: 11 años, 1 mes
Puntos: 12
Respuesta: No llegan correos con la funcion mail()

Cita:
Iniciado por Mauk Ver Mensaje
Gracias por responder cosmo_, es correcto lo mas seguro es que el SMTP este mal configurado, te agradecería mucho si me dijeras como puedo comprobarlo a través de Outlook?
Suponiendo que ya configuraste el servidor SMTP entonces creas un usuario SMTP y configuras con esa cuenta el outlook para luego enviarte un correo a ti mismo.

Talvez la forma mas rápida sea crear un dominio gratis y probar tu funciona ahí puesto que estos servidores tienen ya configurado este servicio ej. http://www.000webhost.com/.

Salu2
__________________
No hay mail que por internet no venga
  #7 (permalink)  
Antiguo 28/12/2012, 15:23
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 9 años, 10 meses
Puntos: 20
Respuesta: No llegan correos con la funcion mail()

El log depende de como hayas instalado apache y PHP, si fue por separado o con algún paquete como xamp o wamp

Si vas a usar una cuenta smtp te recomiendo que te bajes alguna librería para el envío de los mails como puede ser phpmailer

Saludos
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana

Última edición por bet7o; 28/12/2012 a las 17:25

Etiquetas: correos, funcion, llegan, mysql, tabla
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 05:39.