Foros del Web » Programando para Internet » PHP »

Mensaje "Nobody"?...

Estas en el tema de Mensaje "Nobody"?... en el foro de PHP en Foros del Web. Saludos... He hecho un formulario en flash que me envía los datos a través de PHP. Cuando los recibo en mi buzón, noto que el ...
  #1 (permalink)  
Antiguo 03/05/2006, 11:54
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Pregunta Mensaje "Nobody"?...

Saludos...

He hecho un formulario en flash que me envía los datos a través de PHP. Cuando los recibo en mi buzón, noto que el nombre del remitente es "Nobody". De alguna manera es posible que salga al menos una de las variables que trabajo en PHP?...

Las variables que manejo son:

<?php
$para="[email protected]";
$asunto="Mensaje desde la WebSite";
$headers="About WebSite";
$cuerpo="Name(s): ".$_POST["nam"]."\r\n";
$cuerpo.="E-mail: ".$_POST["email"]."\r\n";
$cuerpo.="Mensaje: ".$_POST["obj"]."\r\n";
$cuerpo.="Referencia: ".$_POST["ref"]."\r\n";
if(mail($para,$asunto,$cuerpo,$headers)){
$salio="ok";
}else{
$salio="No-ok";
}
echo "&salio=$salio";
?>

Si al menos saliera el correo electrónico del que lo envía "email" o el nombre "nam" eso sería suficiente.

Gracias por vuestra ayuda....

Saludos!.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 03/05/2006, 12:20
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
en la variable $headers coloca:

$headers="From: [email protected]";
  #3 (permalink)  
Antiguo 03/05/2006, 12:21
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Hola:

No me hagas mucho caso pero creo que te falta algo como esto:
$headers .= "From: Testing <[email protected]>\r\n";
Sin el From creo que no te aparece el remitente.

Espero te sirva.

Saludos
  #4 (permalink)  
Antiguo 03/05/2006, 13:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Así es .. si no indicas como cabecera para el e-mail un "FROM: " (del standard de envio de e-mail según RFC nose cuantos ...), tu "MTA" (el que envia el e-mail) entiende que "algo" debe colocarle .. ese algo es la cuenta que tenga por defecto.

Por ende .. el tema "cabeceras" no es para poner un "asunto?" .. es para especificar algunas cosas como un "FROM" .. o un "CC" .. o que el e-mail debe ser enviado en HTML o en Texto Plano sólo .. etc.

Revisa los ejemplos de:

http://www.php.net/manual/en/function.mail.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 07/05/2006, 06:03
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Saludos y muchas gracias por vuestra respuesta!...

He seguido vuestros consejos y he leído el vínculo que me proporcionáis. No obstante quedo un "pelín" confundido con el tema de la cabecera. He visto un ejemplo que me sugiere lo siguiente:

$headers = 'From: ' . $from . "\n";

Por tanto, si quiero que el nombre del remitente salga tendría que hacer algo como:

$headers = 'From: ' .$_POST["nam"]. "\n";

Pero esta función no me genera ningún evento en los E-mails. Qué me sugerís al respecto?... Gracias por vuestra magnífica ayuda y por ese vínculo de php que está muy interesante!....

Saludos!

P.D.: Para quienes lo queráis, también está disponible en castellano: click aquí.
__________________
Andrew :P
  #6 (permalink)  
Antiguo 08/05/2006, 07:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Pero esta función no me genera ningún evento en los E-mails. Qué me sugerís al respecto?... Gracias por vuestra magnífica ayuda y por ese vínculo de php que está muy interesante!....
Y que es un "evento"? .. Describelo .. y asegurate que tu variable $_POST["man"] esté tomando el valor esperado.

Cita:
P.D.: Para quienes lo queráis, también está disponible en castellano: click aquí.
Lamentablemente en muchos casos la documentación en ingles está más completa que en castellano, siempre es bueno "comparar" ambas versiones por si alguna se deja algo (como suele pasar).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 08/05/2006, 11:59
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 14 años, 3 meses
Puntos: 5
Sonrisa

Cluster... Muchas gracias por tu advertencia... De hecho al final tenía un error de signo (')... Ahora funciona sin problema... Cuando decía "evento" me refería a que me llegaba el E-mail sin novedades en las mofificaciones hechas. Al parecer PHP pasa de largo sobre esos errores o cuando no encuentra las variables del desarrollo en Macromedia Flash y lo procesa como un campo vacío. Por información quedó así:

<?php
$para="[email protected]";
$asunto="Mensaje desde la WebSite";
$headers = 'From: ' .$_POST["nam"]. "\n";
$cuerpo="Name(s): ".$_POST["nam"]."\r\n";
$cuerpo.="E-mail: ".$_POST["email"]."\r\n";
$cuerpo.="Mensaje: ".$_POST["obj"]."\r\n";
$cuerpo.="Referencia: ".$_POST["ref"]."\r\n";
if(mail($para,$asunto,$cuerpo,$headers)){
$salio="ok";
}else{
$salio="No-ok";
}
echo "&salio=$salio";
?>


La línea en negrita fue la que modifiqué siguiendo los parámetros. Gracias por tu ayuda!...
__________________
Andrew :P
  #8 (permalink)  
Antiguo 08/05/2006, 12:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El problema de que no veas ese tipo de errores es que PHP no los gestiona, .. PHP tan sólo te pone a disposición la función mail() para entregar el e-mail al MTA instalado en ese servidor .. pero realmente te deja "libre" a tu código que tu indiques las cabeceras adecuadas para el e-mail, en consecuencia los mensajes de error si los tienes en ese punto los daría tu MTA (no PHP directamente .. o detallado .. ).

A veces es mejor usar otro tipo de "código" para enviar e-mails .. por lo menos para tener mejor control de lo que se envia y como .. Me refiero al uso de classes como "PHP Mailer" (http://phpmailer.sourceforge.net) .. por lo menos tiene su própio sistema para gestionar errores y los obtiene directamente del MTA que uses.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:07.