Ver Mensaje Individual
  #13 (permalink)  
Antiguo 03/06/2012, 12:10
chuntaro18
 
Fecha de Ingreso: mayo-2012
Ubicación: Distrito Federal
Mensajes: 49
Antigüedad: 11 años, 11 meses
Puntos: 9
Respuesta: Dar formato a seccion HTML en phpmailer

Hola despues de buscar y buscar encontre un codigo que se asemeja a lo que quiero (hasta trae explicacion de cada linea) pero desafortunadamente me sigue marcando error en la linea

$body.=

que es donde pongo el hmtl. Como me habias dicho linuxzero faltaba poner el metodo $mail->IsHTML(true); pero este codigo ya lo lleva y de todos modos da error, ya no se que mas hacer he buscado y buscado y nada...


Aqui pongo el codigo que encontre:
Código:
<?php

// primero hay que incluir la clase phpmailer para poder instanciar un objeto de la misma
require "class.phpmailer.php";

//instanciamos un objeto de la clase phpmailer al que llamamos por ejemplo mail
$mail = new phpmailer();

//Indicamos cual es nuestra direccion de correo y el nombre que queremos que vea el usuario que lee nuestro correo
$mail->From = "[email protected]";
$mail->FromName = "Hotel Real";

//el valor por defecto del timeout es 10 pero vamos a usar 40. 
$mail->Timeout=40;

//Indicamos cual es la direccion de destino del correo
$mail->AddAddress("[email protected]");

//Indicamos en la cabecera si el correo contiene html, Esta linea es muy importante si nuestro correo va a contener html 
$mail->IsHTML(true);

//Asignamos asunto y cuerpo del mensaje
//El cuerpo del mensaje lo ponemos en formato html, haciendo que se vea en negrita
$mail->Subject = "Envio de Sugerencias"; 

//$body.= es equivalente a $body=$body + algo nuevo
$body .= "Este es un ejemplo del cuerpo del correo en formato html."

//Aqui* es donde incluiremos el correo en html, es decir nuestra plantilla la cual se pondra entre comillas simples

$body.='

<style type="text/css">
<!--
.Estilo1 {
color: #0066CC;
font-weight: bold;
}
.Estilo2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #006699;
}
-->
</style>
</head>

<body>
<p>Cabecera informativa de nuestro correo electrónico </p>
<p>&nbsp;</p>
<table width="600" border="0" align="center" background="http://www.muchotrasto.com/images/fondoEmail.gif">
<tr>
<td>
<table width="594" border="0">
<tr>
<td width="254"><a href="http://www.muchotrasto.com/index.php"><img src="http://www.muchotrasto.com/images/Logo5.gif" width="250" height="250" border="0" /></a></td>
<td width="330"><div align="center" class="Estilo1">
<p>Sensor de seguridad: Ibutton + PIC </p>
<p><span class="Estilo2">Para m&aacute;s informaci&oacute;n vis&iacute;tanos en <a href="http://www.muchotrasto.com/index.htm">www.muchotrasto.com</a></span></p>
</div></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

';//Finaliza el codigo generado por Dreamweaver u otro editor, cerramos con comilla simple 


//Asignamos al atributo Body, la variable $body.
$mail->Body = $body; 

//Definimos AltBody por si el destinatario del correo no admite email con formato html, es decir recibira¡ dicha informacion si el servidor de correo al que enviamos el mensaje no puede admitir html
$mail->AltBody = "Mensaje expli*cito con la informacion mas relevante.";

//se envia el mensaje, si no ha habido problemas la variable $exito tendra el valor true y el correo se habra¡ enviado satisfactoriamente.
$exito = $mail->Send();

//Si el mensaje no ha podido ser enviado se realizaran 2 intentos mas como mucho para intentar enviar el mensaje, cada intento se hara 5 segundos despues del anterior, para ello se usa la funcion sleep
$intentos=1;
while ((!$exito) && ($intentos < 2)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}

if(!$exito)
{
echo "Problemas enviando correo electronico";
echo "<br>".$mail->ErrorInfo;
echo " ";
}
else
{
echo "Mensaje enviado correctamente";
echo " ";
}

?>
Alguien que sepa que es lo que hay que modificar?