Foros del Web » Programando para Internet » PHP »

enviar datos de una db a un correo electronico

Estas en el tema de enviar datos de una db a un correo electronico en el foro de PHP en Foros del Web. Guenas, Tengo este problema, quiero recoger informacion de una base de datos, dos campos y enviarla a un correo electronico, lo he podido enviar, pero ...
  #1 (permalink)  
Antiguo 11/07/2005, 17:35
Avatar de shunt  
Fecha de Ingreso: mayo-2004
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 20 años
Puntos: 0
enviar datos de una db a un correo electronico

Guenas, Tengo este problema, quiero recoger informacion de una base de datos, dos campos y enviarla a un correo electronico, lo he podido enviar, pero no me enviar los textos completos, el codigo es el siguiente:

Script, para recoger la informacion:

<link title="new" rel="stylesheet" href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $lang['charset']; ?>" >
<center><table width=50% bgcolor=FFFFFF border=5><tr><td>
<?php

$query = "SELECT * FROM livehelp_transcripts WHERE recno=".intval($UNTRUSTED['view']);
$data = $mydatabase->query($query);
print "<center><table width=100% bgcolor=FFFFFF border=1><tr><td>";
$data = $data->fetchRow(DB_FETCHMODE_ASSOC);
print $data['sessiondata'];
print "<hr>";
print $data['transcript'];
print "</td></tr></table></center>";

?>
<hr><br>
<CENTER><b>Por favor ingrese sus comentarios sobre este caso en la siguiente &aacute;rea de texto</b><br>
<TABLE>
<FORM METHOD='POST' ACTION="sendmsg.php" >
<INPUT TYPE="hidden" name='bodymsg' value="<?php echo $data['transcript'];?>">
<INPUT TYPE="hidden" name='infousr' value="<?php echo $data['sessiondata'];?>">
<textarea cols="100" rows="10" name="txtop"></textarea>
<CENTER><INPUT type="submit" value="Enviar"></CENTER>
</FORM>
</TABLE>
</CENTER>

Listo, ahi recojo la información de la base de datos, lo envio a otro script:

<?

$destinatario="[email protected]";
$titulo="Mensaje de Soporte";
$mensaje = "<center><TABLE width=600 bgcolor=FFFFFF border=1><tr><td>";
$mensaje .= "<font face='Arial' size=4>Mensaje de Soporte en Linea</font><br>$bodymsg<br><br>$txtop</td></tr></table></center>";
$responder="[email protected]";
$remite="[email protected]";
$remitente="Soporte En Linea";
$cabecera ="Date: ".date("l j F Y, G:i")."\n";
$cabecera .="MIME-Version: 1.0\n";
$cabecera .="From: ".$remitente."<".$remite.">\n";
$cabecera .="Return-path: ". $remite."\n";
$cabecera .="Reply-To: ".$responder."\n";
$cabecera .="X-Mailer: PHP/". phpversion()."\n";
$cabecera .="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
if( mail($destinatario, $titulo, $mensaje, $cabecera)){
echo "mensaje enviado";
}
?>

pero cuando envio el correo, me sale el texto incompleto, tengo que utilizar alguna variable o algo? espero que alguien me pueda ayudar.
  #2 (permalink)  
Antiguo 11/07/2005, 21:04
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 1.573
Antigüedad: 22 años, 2 meses
Puntos: 2
Mira, la verdad no mire bien tus script, pero creo que no los pides en

Código PHP:
<?

$destinatario
="[email protected]";
$titulo="Mensaje de Soporte";
$mensaje "<center><TABLE width=600 bgcolor=FFFFFF border=1><tr><td>";
$mensaje .= "<font face='Arial' size=4>Mensaje de Soporte en Linea</font><br>$bodymsg<br><br>$txtop</td></tr></table></center>";
$responder="user..................
de la forma correcta, por lo que veo tu formulario es POST y lo mas probable que tu servidor tenga las register globals en off

Deberias pedir los datos con $_POST['variable'];

Te dejo un enlace para que mires

http://www.forosdelweb.com/o.php?htt....variables.get
  #3 (permalink)  
Antiguo 13/07/2005, 14:12
Avatar de shunt  
Fecha de Ingreso: mayo-2004
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 20 años
Puntos: 0
No entiendo

Hola, Gracias por tu ayuda, pero mi servidor tiene las register_globals en ON, e hice una prueba, cambiando la funcion mail, y en vez de eso, puse a que me imprimiera las variables:

<?

$destinatario="[email protected]";
$titulo="Mensaje de Soporte";
$mensaje = "<center><TABLE width=600 bgcolor=FFFFFF border=1><tr><td>";
$mensaje .= "<font face='Arial' size=4>Mensaje de Soporte en Linea</font><br>$bodymsg<br>$infousr<br>$txtop</td></tr></table></center>";
$responder="[email protected]";
$remite="[email protected]";
$remitente="Soporte En Linea";
$cabecera ="Date: ".date("l j F Y, G:i")."\n";
$cabecera .="MIME-Version: 1.0\n";
$cabecera .="From: ".$remitente."<".$remite.">\n";
$cabecera .="Return-path: ". $remite."\n";
$cabecera .="Reply-To: ".$responder."\n";
$cabecera .="X-Mailer: PHP/". phpversion()."\n";
$cabecera .="Content-Type: text/html; charset=\"ISO-8859-1\"\n";
print $destinatario;
print "<hr>";
print $titulo;
print $mensaje;
//print $cabecera;
//if( mail($destinatario, $titulo, $mensaje, $cabecera)){
// echo "mensaje enviado";
// }

?>
y me sale perfecto, es como si tuviera un vista previa antes de enviar el mensaje, es decir, que las variables al punto de este script estan bien, pero cuando envio el mensaje de correo electronico, no me las lleva completas, es como si las cortara a cierto numero de lineas, es decir, el mensaje me llega incompleto. Gracias.
  #4 (permalink)  
Antiguo 14/07/2005, 07:36
Avatar de shunt  
Fecha de Ingreso: mayo-2004
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 20 años
Puntos: 0
Al fin solucion

NRLABS, te agradezco mucho por tu ayuda, aproveche la utilizacion de $_POST, pero resulta que después de tanto intentar e intentar, el problema no era nada de lo citado anteriormente, era la direccion de correo de destino la que tenia el problema, enviaba el correo, y me entregaba en el cuerpo del mensaje la mitad del texto, cambié la dirección de correo de destino y voilá, funcionó, ahora tendré que cambiar de proveedor de correo para poder trabajar con correo institucional, de todas formas muchas gracias, valiente ayuda....!!! have fun.
  #5 (permalink)  
Antiguo 04/04/2008, 14:14
 
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Re: Duda

[Hola necesito tu ayuda mira yo he tratado de hacer lo mismo pero no se en realidad como utilizar la funcion mail quisiera que me pudieras ayudar, la base de datos que tengo es muy sencilla solo tienen datos como numero de boletin el contenido del boletin dicha información la quiero enviar al correo electronico que se inserte en un formulario he intentado varios codigos que he visto pero ninguno funciona me sale un erro en cuento al smtp necesito saber todo lo que es necesario realizar para poder hacerlo.

Espero me puedas ayudar.
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 18:15.