Comunidad de diseño web y desarrollo en internet online

Función Mail() pérdidas de HTML

Citar            
MensajeEscrito el 14 Ene 2010 12:22 pm
Hola a todos,

Primero, saludaros a todos ya que soy nuevo en este foro y a partir de ahora miraré de aportar mis conocimientos de PHP en el foro para todos los usuarios.

Me ha surgido un problemilla que no consigo descifrar. Lo explico, mirad:


    Tengo un apartado donde grabo un mensaje que esta dentro de un textarea y le puedo poner negrita, etc.. darle formato, todo este campo de textarea se guarda en base de datos en formato HTML. Hasta aqui todo bien, si yo accedo al registro que guarda y copio lo que hay funciona el HTML que tengo, bien. Pongamos por ejemplo que en este registro hay lo siguiente : "Testing URL" dónde URL es un link que direcciona a una página en concreto.



    Tengo otro apartado que recupero el contenido este que he guardado en base de datos y mediante la función Mail() de PHP envio un correo electronico donde el body es justamente el valor de BBDD, bien pues resulta que cuando se envia el correo, todo bien pero el que lo recibe no recibe el código HTML, es como si la función mail() se comiera los tags de href que són los que hacen el link.


Mi pregunta es, ¿Sabéis que puede ser? ¿Porque cuando envio de esta manera el correo no llega en el formato correcto? Si el mensaje lleva un link pues el receptor lo ve como un texto simple pero no lleva el href puesto y en BBDD MySQL si que está.

Quiero agradecer de antemano el foro para poder expresar mi duda.

Muchas gracias a todos,
Saludos,
Alex.

Por creps

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2010 01:41 pm
deberias activarle al mail la opcion de HTML pero eso es muy engorroso y poco seguro! yo te recomieldo que lo hagas con PHPMailer una libreria que te permite gestionar este tipo de necesidades

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox
Citar            
MensajeEscrito el 14 Ene 2010 01:46 pm
Hola jpcw,

lo he hecho también con PHPMailer como comentas, mira te muestro el código.

Código PHP :

<?php 
require("class.phpmailer.php"); //Importamos la función PHP class.phpmailer 

include("./includes/bbdd.php");
include("./includes/funcions.php");
$link = connecta();

$sql = "SELECT id, titol, contingut, data_creacio, data_ultim_enviament, enviat
               FROM mailing_list_newsletters 
               WHERE id = 31;";
               
         $resultat = mysql_query($sql,$link);
         $row = mysql_fetch_array($resultat);
         
         $subject = $row['titol'];
         $message = $row['contingut'];
         
         echo $message;
         
$mail = new PHPMailer(); 
 
//Luego tenemos que iniciar la validación por SMTP: 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; // True para que verifique autentificación de la cuenta o de lo contrario False 
$mail->Username = "[email protected]"; // Cuenta de e-mail 
$mail->Password = "domain"; // Password 
 
 
$mail->Host = "localhost"; 
$mail->From = "[email protected]"; 
$mail->FromName = "Testing mail"; 
$mail->Subject = "Asunto"; 
$mail->AddAddress("[email protected]","mail"); 
 
$mail->WordWrap = 50; 

$mail->IsHTML(true);  

$mail->Body = $message; 
 
$mail->Send(); 
 
 
// Notificamos al usuario del estado del mensaje 
 
if(!$mail->Send()){ 
   echo "No se pudo enviar el Mensaje."; 
}else{ 
   echo "Mensaje enviado"; 
} 
 
?>


Los datos de la cuenta los he cambiado por temas de confindencialidad, ok? Con éste código me pasa lo mismo, cuando recibo el correo, lo que són Links lo veo como texto plano.

Lo que hay en BBDD guardado es lo siguiente:
<p>test <a title=\"google\" href=\"http://www.google.es\" target=\"_blank\">link</a></p>

Un saludo,
Alex.

Por creps

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2010 08:14 pm
prueba lo siguiente:

captura los datos de tu base de datos e imprimelos con un simple echo, en teoria deberia aparecer el html interpretado por en navegador es decir si tenias un <a href="somewhere.php">algun_lado</a> deveria mostrar el link de "algun_lado", si esto no ocurre es por que lo que te esta devolviendo la DB esta dañando el codigo y habria que mirar si le quita las comillas o al agregarle slashes daña en html!

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.