Foros del Web » Programando para Internet » PHP »

e-mail que no llega !!!

Estas en el tema de e-mail que no llega !!! en el foro de PHP en Foros del Web. Hola gente... tengo un problema con un servidor: Tengo un formulario de contacto en flash (sitio full Flash) que se comunica con un *.php en ...
  #1 (permalink)  
Antiguo 14/07/2006, 15:45
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Pregunta e-mail que no llega !!!

Hola gente...
tengo un problema con un servidor:

Tengo un formulario de contacto en flash (sitio full Flash) que se comunica con un *.php en el servidor.
El código que utilizo ya lo eh usado antes sin problemas, pero con un sitio que arme me esta dando
problemas, ya que si bien al formulario vuelve el OK, no esta enviado el mail desde el servidor al correo definido.

La función mail de PHP esta soportada por el servidor, mi duda es si el problema es que la gente que administra
el servidor esta haciendo algo mal, ya que tengo una copia de esta Web en un hosting y el formulario esta OK.
Aclaro que no tengo acceso al servidor para mas datos ya que es del cliente.
(y la gente de sistemas no le encuentra la falla).

este es el codigo:

<?php
if(isset($_POST["nombre"]) && isset($_POST["compania"]) && isset($_POST["cargo"]) && isset($_POST["telefono"]) && isset($_POST["mail"]) && isset($_POST["consulta"]) ){
$fecha = date("D-M-y H:i");
$mymail = "[email protected]";
$subject = "Desde El Sitio...";
$contenido = "<b>ESCRIBIO: </b>" .$_POST["nombre"]."<br>";
$contenido .= "<b>EMPRESA: </b>" .$_POST["compania"]."<br>";
$contenido .= "<b>CARGO: </b>" .$_POST["cargo"]."<br>";
$contenido .= "<b>TELEFONO: </b>" .$_POST["telefono"]."<br>";
$contenido .= "<b>E-MAIL: </b>" .$_POST["mail"]."<br>";
$contenido .= "<b>CONSULTA: </b>" .$_POST["consulta"]."<br><br><br>";
$contenido .= "El mensaje se escribio el ".$fecha." hrs.";
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/html";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>

Desde ya muchas gracias y espero su ayuda!!!
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
  #2 (permalink)  
Antiguo 14/07/2006, 15:57
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pues paracer serr un problema del SMTP tendrias que checar el log del mismo, pero como mencionas que el hosting es externo, pues tendrias que ponerte en contacto con ellos para ver que esta pasando.

Para que realemente si imprima ok

Código PHP:
if(mail($mymail$subjectutf8_decode($contenido) ,$header))//duvuelve true si se ejecuto bien
echo "&estatus=ok&"

Saludillos.
  #3 (permalink)  
Antiguo 14/07/2006, 16:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Realmente si mail() consigue entregar el e-mail generado al MTA que lo tiene que enviar a su destinatario .. dicha función devuelve un "true" .. así que deberias trabajar el tema tipo:

Código PHP:
if (@mail($mymail$subjectutf8_decode($contenido) ,$header)){
  echo 
"&estatus=ok&";
} else {
   echo 
"&estatus=error&";

Este "estatus=error" así lo tendrás que trabajar en tu Action Script de flash.

Así mismo le incluyo el @ para ocultar mensajes de error que se producirian en caso de fallo de dicha función. No lo uses por el momento hasta que evalues el problema.

Por otro lado .. si mail() devuelve un "OK" y notas que no te llega el e-mail, a quien debes preguntar es a quien te administra el "MTA" (servidor de correo, sendmail, SMTP o lo que usen ...), que revisen en sus log's que sucede con ese e-mail que pretendes enviar .. PHP por la función mail() no puede tomar mensajes de error al envio por parte del MTA .. sólo indica "lo llevé al buzón" o no .. (para que el "cartero" lo tome del buzón tuyo y lo lleve al buzón del otro destinatario).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 14/07/2006, 16:05
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Cita:
Iniciado por mauled
Pues paracer serr un problema del SMTP tendrias que checar el log del mismo, pero como mencionas que el hosting es externo, pues tendrias que ponerte en contacto con ellos para ver que esta pasando.

Para que realemente si imprima ok

Código PHP:
if(mail($mymail$subjectutf8_decode($contenido) ,$header))//duvuelve true si se ejecuto bien
echo "&estatus=ok&"

Saludillos.
Gracias mauled por tu respuesta, pero... y siempre hay un pero, ya hable con la gente que administra el hosting y ellos no encuentran el problema, ademas como es el servidor de una empresa financiera no tienen otros sitios con formularios en PHP para comparar funcionamiento y al parecer no tienen experiencia con PHP (hace poco que lo instalaron, creo que la v5), pero me comentan que la funcion mail esta soportada e instalada.
(Aclaro que yo tampoco manejo PHP, lo unico que manejo es un triciclo a pedal!!!) ... si no le ponguo un poquito de humor me mato, hace dias que estoy con esto!!!

alguna otra idea?

Muchas gracias
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
  #5 (permalink)  
Antiguo 14/07/2006, 16:10
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Deberias tomar en cuanta tambien el comentaio de Cluster

Pues no si necesites autentificarte en el SMTP para poder enviar correos. De ser necesario podrias usar phpmailer.

¿Ya intentaste enviar el correo desde un servidor local? como por ejemplo tu computadora

Saludillos.
  #6 (permalink)  
Antiguo 14/07/2006, 17:07
Avatar de Mono-R  
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 18 años
Puntos: 1
Cita:
Iniciado por Cluster
Realmente si mail() consigue entregar el e-mail generado al MTA que lo tiene que enviar a su destinatario .. dicha función devuelve un "true" .. así que deberias trabajar el tema tipo:

Código PHP:
if (@mail($mymail$subjectutf8_decode($contenido) ,$header)){
  echo 
"&estatus=ok&";
} else {
   echo 
"&estatus=error&";

Este "estatus=error" así lo tendrás que trabajar en tu Action Script de flash.

Así mismo le incluyo el @ para ocultar mensajes de error que se producirian en caso de fallo de dicha función. No lo uses por el momento hasta que evalues el problema.

Por otro lado .. si mail() devuelve un "OK" y notas que no te llega el e-mail, a quien debes preguntar es a quien te administra el "MTA" (servidor de correo, sendmail, SMTP o lo que usen ...), que revisen en sus log's que sucede con ese e-mail que pretendes enviar .. PHP por la función mail() no puede tomar mensajes de error al envio por parte del MTA .. sólo indica "lo llevé al buzón" o no .. (para que el "cartero" lo tome del buzón tuyo y lo lleve al buzón del otro destinatario).

Un saludo,

Gracias Cluster,
voy a tratar de usar lo que me comentas, aunque aún estoy muy nuevito en esto, y todo me cuesta un montón, pero seguire sudando hasta arreglarlo.

Gracias nuevamente por tu tiempo!!!
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando:
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 16:49.