Foros del Web » Programando para Internet » PHP »

Problemas con la funcion mail

Estas en el tema de Problemas con la funcion mail en el foro de PHP en Foros del Web. Estoy empezando por segunda vez a aprender php y cuando he llegado al capitulo de envios de emails a traves de la funcion mail me ...
  #1 (permalink)  
Antiguo 02/10/2009, 11:42
Avatar de saunier  
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Problemas con la funcion mail

Estoy empezando por segunda vez a aprender php y cuando he llegado al capitulo de envios de emails a traves de la funcion mail me he emocionado pensando en poder realizar algun script con esta funcion.

Pero no se que ocurre que no va , tras mirar por la red con la ayuda de San Google, descubri que para el funcionamiento de dicha funcion debias tener un servidor SMTP para que envie el email (algo logico pero que no se me paso por la cabeza en ese momento ). Aparte de esto se debia editar el archivo php.ini e indicar en la directiva SMTP= la direccion del servidor smtp.

Me he bajado varios de dichos servidores smtp, he probado el servidor smtp del windows, tambien con la redireccion de dominios atraves de DNS2go, pero no hay manera

Lo unico que he conseguido es que al instalar los servidores smtp la funcion mail me devuelve true, usea que parece que funciona pero al abrir el correo no hay ningun email. ¿que es lo que hago mal?

Este es el script:
Código:
$receiverMail = "direccion";
$subject = "prueba";
$message = "Datos enviados:\n\n";

foreach($_POST as $name => $value) {
  $message .= "$name: $value\n"; // Forma abreviada de concatenación
}
if (isset($_POST['Mail']) && $_POST['Mail'] != "") { // ¿Campo mail no está vacío?
  $poster = $_POST['Mail'];
  if (mail($receiverMail, $subject, $message, "From: $poster")) {
    echo "<h1>Gracias por hacerme llegar tu opinión.</h1>\n";
    echo "<p>Tu mensaje ha sido enviado.</p>\n";
  } else { 
    echo "<h1>Lo sentimos, no se pudo enviar tu mensaje.</h1>\n";
  }
} else {
  echo "<h1>No te olvides de rellenar tu dirección de correo electrónico.</h1>\n";
}
En la direcetiva SMTP del archivo php.ini he probado con escribir localhost, 127.0.0.1, el dominio del dns2go incluso con el servidor smtp de gmail
He probado tambien en enviarlo a direcciones distintas por si acaso y nada el resultado siempre el mismo el script parece que funciona pero al ir a mirar el correo no hay emails.

Un poquito de ayuda por favor estoy desesperado
Un saludo y gracias.
  #2 (permalink)  
Antiguo 02/10/2009, 11:52
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Problemas con la funcion mail

intenta liberar el puerto 25 en el firewall
  #3 (permalink)  
Antiguo 02/10/2009, 12:05
Avatar de saunier  
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Problemas con la funcion mail

El puerto 25 lo he abierto tambien he quitado el firewall antes de enviar el email por si acaso no lo habia realizado bien.
  #4 (permalink)  
Antiguo 02/10/2009, 12:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problemas con la funcion mail

Puede que tu host te bloquee ese puerto directamente revisa con ellos, ya que si mail() devuelve true es porque ya hizo el envio al servidor SMTP, ya el que sea enviado a su destino el encargado es el servidor SMTP.

Saludos.
  #5 (permalink)  
Antiguo 02/10/2009, 13:00
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: Problemas con la funcion mail

Cita:
Iniciado por saunier Ver Mensaje
Lo unico que he conseguido es que al instalar los servidores smtp la funcion mail me devuelve true, usea que parece que funciona pero al abrir el correo no hay ningun email. ¿que es lo que hago mal?
¿y qué dice tu servidor de SMTP?. PHP no envía los correos, solo le pasa la tarea al servidor SMTP. Si la función te regresa true, ese paso se realizó bien, si no te llega tu correo, tu servidor de SMTP estará fallando ... consulta su documentación; debe tener algún log, algún estado de correos por enviar.

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

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 07/10/2009, 14:37
Avatar de saunier  
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Problemas con la funcion mail

Perdon por el retraso en la respuesta pero he estado liado.

En esta ocasion en el archivo php.ini he puesto smtp=localhost
en mi computadora he ejecutado el servidor smtp llamado "1st smtp server"
me sigue pasando lo mismo, he mirado el log del servidor smtp y pone lo siguiente:

-Resolving gmail.com using DNS #0
-Exception in smtp client(resolve address)[1]:socket error # 10054 conecction reset by peer
-no way to send messages, no ip addreses are present, check that gateways are present.

No me he entarao de nada, estas tres lineas se vuelven a repetir como error con la direccion de origen.

Saludos
  #7 (permalink)  
Antiguo 07/10/2009, 15:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problemas con la funcion mail

Como puedes leer, el problema esta que no puede resolver la dirección gmail.com, ese ya no es un problema de PHP, si no problemas en tu sistema operativo y/o en la configuración de 1st smtp server.

Verifica que no tengas ningún firewall o algún programa que este bloqueando las conexiones (como Norton Antivirus).

Saludos.
  #8 (permalink)  
Antiguo 12/10/2009, 04:39
Avatar de saunier  
Fecha de Ingreso: octubre-2007
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Problemas con la funcion mail

He mirado bien y creo que no se me ha pasado ningun programa que bloque las conexiones, como puse en un mensaje mas arriba lo llegue a probar deshabilitando el firewall.

Bueno pero a parte de eso me ocurre un nuevo expediente X informatico, no se si son espiritus, poltergeist u que, lo que he visto ahora es que tras las pruebas que hice con la funcion mail (esto ocurrio el 2 de octubre) cuando fui dias despues a ver mi correo en la parte de spam tenia varios mensajes de notificacion de error (fechados el 7 de octubre, cinco dias despues) con el texto que coloque en esas pruebas que hice con la funcion mail.

El dia 7 de octubre cuando volvi a postear probe otra vez lo de la funcion mail, y no me funciono y oohhhhh otra vez 5 dias despues usea hoy voy a mi correo y encuentro en la carpeta de spam una notificacion de error con el texto que puse en la funcion el dia 7 (pero tenia fecha de 11 de octubre).

Que ocurre que los emails estan cinco dias dando vueltas por internet y finalmente llegan a mi correo o que?

Saludos
  #9 (permalink)  
Antiguo 12/10/2009, 08:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Problemas con la funcion mail

Eso no es problema de PHP, es probable que algo este afectando tu servidor SMTP y solo hasta después de 5 días puede hacer la conexión y envío de los correos.

Saludos.
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 12:57.