Foros del Web » Programando para Internet » PHP »

mail() no envia correo

Estas en el tema de mail() no envia correo en el foro de PHP en Foros del Web. Hola amigos, tengo el problema de que la funcion mail() no envia correos, o por lo menos, no los recibo en mi cuenta de correo. ...
  #1 (permalink)  
Antiguo 04/11/2004, 04:09
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
mail() no envia correo

Hola amigos,
tengo el problema de que la funcion mail() no envia correos, o por lo menos, no los recibo en mi cuenta de correo.

Situacion:
-Servidor Apache corriendo en servidor Linux con php 4.3.8
-valores de las variables del php.ini relacionadas con el envio de correos

sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
SMTP localhost localhost
smtp_port 25 25

- script que ejecuto: mail.php
Código PHP:
<?
if(mail("[email protected]","asunto","cuerpo del mensaje")==FALSE) echo "ERROR. No se ha enviado el correo";
else echo 
"Correo enviado correctamente";
?>
-> Al ejecutarlo me saca el mensaje de "Correo enviado OK", pero luego al consultar la cuenta donde se envia este correo no hay ningun mensaje.

Alguien me puede decir donde esta el fallo?

Gracias, y un saludo,
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #2 (permalink)  
Antiguo 04/11/2004, 04:56
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 19 años, 11 meses
Puntos: 0
Hoal:
A mí me parace que para empezar deberías revisar las condiciones if y else. Les faltan
aperturas y cierres.

<?
if(mail("[email protected]","asunto","cuerpo del mensaje")==FALSE)
{
echo "ERROR. No se ha enviado el correo";
}
else
{
echo "Correo enviado correctamente";
}
?>

Luego mira si te manda el correo.

Saludos
  #3 (permalink)  
Antiguo 04/11/2004, 05:32
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Cita:
Iniciado por javifo
Hoal:
A mí me parace que para empezar deberías revisar las condiciones if y else. Les faltan
aperturas y cierres.

<?
if(mail("[email protected]","asunto","cuerpo del mensaje")==FALSE)
{
echo "ERROR. No se ha enviado el correo";
}
else
{
echo "Correo enviado correctamente";
}
?>

Luego mira si te manda el correo.

Saludos

Creo que te equivocas, cuando solo hay una sentencia(instruccion) detras del if (o el else) no hace falta poner las { }, estas son necesarias cuando hay que ejecutar un conjunto de instrucciones...

un saludo.
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #4 (permalink)  
Antiguo 04/11/2004, 06:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

mail() no envia un email, simplemente se lo pasa al smtp o a sendmail que tengas configurado. Si tiene exito en pasarlo, devuelve true. Puedo eso no quiere decir que el smtp o sendmail haya podido enviar con exito el mensaje. O que el servidor de correo de destino lo haya rechazado, o lo haya considerado spam (sobre todo si la direccion de destino es de hotmail lo mas seguro es que este en la carpeta de spam).

Si tienes acceso a los logs del smtp o de sendmail, revisalos para ver si los envio. Revisa si el email esta en tus carpetas de correo basura, intentalo con varias direcciones de proveedores distintos.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 04/11/2004, 06:34
 
Fecha de Ingreso: junio-2004
Mensajes: 84
Antigüedad: 19 años, 9 meses
Puntos: 0
Si la funcion mail te genera problema, porque no prueba la clase Mail de PEAR (pear.php.net), con ella podes enviar e-mail usando tu servidor SMTP.
Un abrazo.
__________________
Repositorio de funciones utiles para programadores y administradores
http://www.particle.com.ar
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 09:07.