Foros del Web » Programando para Internet » PHP »

mail devuelve true pero no envía

Estas en el tema de mail devuelve true pero no envía en el foro de PHP en Foros del Web. Buenas! Tengo un problema enviando mails con php: Al enviar un correo usando la función mail, me retorna true, pero no envía el correo... tengo ...
  #1 (permalink)  
Antiguo 06/08/2012, 02:01
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
mail devuelve true pero no envía

Buenas!

Tengo un problema enviando mails con php:

Al enviar un correo usando la función mail, me retorna true, pero no envía el correo... tengo el puerto 25 abierto, el ini_set('sendmail_from'), los headers bien puestos... ya no se que me falta...

os dejo la función que uso para enviar correos:

Código:
function send($headers){
			ini_set('sendmail_from', '[email protected]');

			if(mail($this->receptor, $this->asunto, $this->texto, $headers)){
				return true;
			}

			return false;
		}
La función me devuelve true (entiendo que se "envía") pero no llega ningún correo.
He probado de activar el display_errors, pero no retorna nada. Tampoco sale nada en el log de errores de php...

Si alguien me puede ayudar, gracias.
  #2 (permalink)  
Antiguo 06/08/2012, 03:09
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mail devuelve true pero no envía

El true de mail no significa que "Envie" el correo, sino que el correo ha sido "aceptado"...
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 06/08/2012, 03:10
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: mail devuelve true pero no envía

Si, lo suponía, ya que realmente no lo envía...
Alguna manera para saber exactamente que error es??

Gracias por la resupesta
  #4 (permalink)  
Antiguo 06/08/2012, 03:23
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mail devuelve true pero no envía

Cita:
Iniciado por DoHITB Ver Mensaje
Si, lo suponía, ya que realmente no lo envía...
Alguna manera para saber exactamente que error es??

Gracias por la resupesta
Con mail? No xD

Puede ser del smtp, vete a saber

¿Estás probando en local? ¿O en un servidor? :)

Siempre hay clases que ayudan algo (http://swiftmailer.org/ por ejemplo)

Edit: prueba con el ejemplo más básico:

Código PHP:
mail('[email protected]''Mi título''Un mensaje'); 
¿Que no? Prueba el siguiente:
Código PHP:
mail('[email protected]''Titulo''Mensaje'null'[email protected]'); 
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 06/08/2012, 04:03
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: mail devuelve true pero no envía

Pruebo con mi servidor (un vps que tengo con hostalia)

Es curioso, si envío un correo usando la función desde la raíz (es decir http://www.midominio.com/paginaPrueba.php) funciona, si lo lanzo desde una subcarpeta (http://www.midominio.com/carpeta1/pagina1.php) no me funciona...

Gracias de nuevo por tu tiempo!

Edito: Solucionado! xD

Nada... estaban mal las direcciones de correo, ya que previamente llegaban escapadas a la función que no funcionaba...

Última edición por DoHITB; 06/08/2012 a las 04:28
  #6 (permalink)  
Antiguo 16/10/2012, 03:12
 
Fecha de Ingreso: marzo-2009
Ubicación: Cantabria
Mensajes: 18
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: mail devuelve true pero no envía

a mi me sucede lo mismo... en la raiz la funcion mail va perfectamente, pero en las subcarpetas no va... hay que configurar algo?
  #7 (permalink)  
Antiguo 17/10/2012, 05:56
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 17
Pregunta Respuesta: mail devuelve true pero no envía

Me sumo al barco de los que le pasa lo mismo.

He estado haciendo pruebas con el script aislado de la web en la que trabajaba y estas son mis conclusiones:

1. En el directorio raiz, todo funciona correctamente y como debería.
2. Dentro de una carpeta, deja de funcionar normalmente.

Y paso a describir el segundo punto.
Entendamos funcionar normalmente, que construya el mail bien echo, con sus cabeceras y demas.. si hago esto. El mail jamas llega. (aunque mail si hace el envio devolviendo "true")

Curiosamente, si vamos simplificando para probar, descubrimos que si no enviamos cabeceras, el mail si llega (como texto plano logicamente.. pero llega).

El porque de esto.. No tengo absolutamente ni idea. Lo mas desconcertante es que la clase que uso para enviar el mail es una que tengo de hace tiempo, y que hasta ahora no me ha dado nunca ningún problema, es más, cabe destacar que he realizado páginas hospedadas en el mismo hosting (en este caso 1and1.es) y no he tenido problemas, encambio, con esta última que he realizado si ha ocurrido lo que comento.

Alguien sabe algo al respecto, si han cambiado alguna politica de uso de la funcion mail() o por el estilo ?? He buscado bastante sobre el asunto, pero no encontre gran cosa relacionada con el error.

Bueno, dejo mi experiencia por si a alguien le es util y sirve para encontrar alguna solución (si diera con ella la compartire gustoso..a ver si ahi suerte).

Un saludo.

Etiquetas: devuelve, mail, true
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 01:18.