Foros del Web » Programando para Internet » PHP »

Problema Phpmailer y formato HTML

Estas en el tema de Problema Phpmailer y formato HTML en el foro de PHP en Foros del Web. Hola Mi problema es el siguiente envio correo a traves de PHP con la libreria Phpmailer y Fckeditor para generar el codigo html, cuando llega ...
  #1 (permalink)  
Antiguo 12/06/2009, 14:58
nrb
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 1
Problema Phpmailer y formato HTML

Hola
Mi problema es el siguiente envio correo a traves de PHP con la libreria Phpmailer y Fckeditor para generar el codigo html, cuando llega el mensaje al correo me muestra el codigo que genero Fckeditor pero no me muestra los estilos como deberia verse, si mando el correo con el codigo escrito en vez de generado si me lo muestra, de esta manera.

$mail->Body = $mensaje; //EN ESTE CASO ME MUESTRA EL CODIGO QUE SE GENERO

$mail->Body = <p><span style="color: rgb(255, 153, 0);">Hola</span></p>; //EN ESTE CASO ME MUESTRA Hola con el color que envie.

Tengo activado $mail->IsHTML(true), ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 12/06/2009, 15:23
 
Fecha de Ingreso: enero-2009
Mensajes: 19
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Problema Phpmailer y formato HTML

Hola, bueno lo que hace Fckeditor es generarte las el codigo no en formato html, por ejm.
$str = "A 'quote' is <b>bold</b>";
Fckeditor el tag <p> te lo representa
A 'quote' is &lt;b&gt;bold&lt;/b&gt;

Puedes usar la funcion para convertir esos caracteres a formato html con :
echo htmlspecialchars_decode($cadena);
o
echo htmlspecialchars_decode($cadena, ENT_NOQUOTES);

revisar:
php.net/manual/es/function.htmlspecialchars-decode.php
php.net/manual/es/function.htmlentities.php



-------------------------
visita: peru3g.com
  #3 (permalink)  
Antiguo 12/06/2009, 15:52
nrb
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema Phpmailer y formato HTML

Hola, ya tengo incluida esa parte del codigo que mencionas para transformar el codigo que genera fckeditor reviso con echo para ver que este bien pero igual me muestra el codigo cuando envio el correo, si guardo en $mensaje lo que genero fckeditor y lo transforo a formato html me queda esto:

$mensaje = '<p><span style="color: rgb(255, 153, 0);">Hola</span></p>';

y eso mismo es lo que me llega al correo en vez de llegar Hola con color naranjo pero si lo envio directo escribiendo llega bien.
  #4 (permalink)  
Antiguo 12/06/2009, 16:37
nrb
 
Fecha de Ingreso: junio-2009
Mensajes: 7
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Problema Phpmailer y formato HTML

Ahora si tenia un pequeño error al utilizar el htmlspecialchars_decode funciona perfecto gracias por la respuesta.
  #5 (permalink)  
Antiguo 27/06/2009, 05:00
 
Fecha de Ingreso: junio-2009
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 1
Yo también tengo ese Problema pero no puedo solucionarlo

Hola, tengo el mismo problema con FCK editor y phpmailer pero no sé resoverlo.

No puedo ver el correo en HTML. Tengo el HTML True y he utilizado la función htmlspecialchars_decode pero no pasa nada...

Posiblemente haya utilizado mal la función...

Aquí dejo el código para que lo veáis...

Código PHP:
<?

require "class.phpmailer.php";

$mail = new PHPMailer();

$mail->From '(No responder)';       
$mail->FromName 'Webquest';

$mail->AddAddress($_REQUEST['email1']);
$mail->AddAddress($_REQUEST['email2']);

//--
  
$mail->Mailer "mail";
$mail->IsHTML(true);

//Aquí he hecho una cadena con lo que quiero que sea el Body del correo

$cadena "<p>DATOS DE LOS ALUMNOS</p>
<table border=1>
    <tr>
        <td>usuario:</td>
        <td>"
.$_REQUEST['nombres']."</td>
  </tr>
    <tr>
        <td>email:</td>
        <td>"
.$_REQUEST['email2']."</td>
    </tr>
</table>

<p class=Estilo2><span class=letra_normal>REDACCIÓN DE LOS ALUMNOS</span></p>

<p></p>
      <table width=90% border=1 align=center>
    <tr>
      <td width=90%>"
.$_REQUEST['FCKeditor1']."</td>
    </tr>
</table>"
;

//Aquí la cadena la intento pasar por la funcion htmlspecialchars_decode para que lo convierta en HTML

$contenidohtmlspecialchars_decode($cadena);

$mail->Subject "Redacción de la Webquest";

$mail-> AltBody 'Utilice visor Html para poder leer este correo electrónico ';
 
//Aquí meto la cadena en el Body del correo electronico, pero no lo convierte en HTML. El contenido llega pero no en HTML
$mail->Body .= $contenido;
  
$mail->Send();

unset(
$mail);

echo(
"Enviado correctamente");
//--

?>
Agradecería mucho alguna respuesta... GRACIAS DE VERDAD!!
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 02:53.