Foros del Web » Programando para Internet » PHP »

Enviar archivo HTML a un correo con php

Estas en el tema de Enviar archivo HTML a un correo con php en el foro de PHP en Foros del Web. Hola! disculpen las molestias, no sabia si poner esta consulta aca o en el foro de html, si es un error les ruego me disculpen. ...
  #1 (permalink)  
Antiguo 08/05/2014, 14:38
 
Fecha de Ingreso: mayo-2014
Mensajes: 1
Antigüedad: 9 años, 11 meses
Puntos: 0
Exclamación Enviar archivo HTML a un correo con php

Hola! disculpen las molestias, no sabia si poner esta consulta aca o en el foro de html, si es un error les ruego me disculpen.
Mi problema es el siguiente, como dice el titulo debo enviar un archivo html, a correos electronicos mediante php, estoy utilizando phpmailer, el problema puntual que tengo es que el archivo html es una imagen centrada de fondo, la cual tiene un texto adelante con el nombre de una persona que cumple años. El archivo me lo envia correctamente al correo, no obstante la imagen de fondo desaparece, asi como tambien el formato de la fuente, al principio usaba css3 para hacerlo, luego lei que habian problemas de compatibilidad con dicha herramienta. Asi que lo implemente usando solo html, pero el problema persiste. Alguna idea?. A continuacion adjunto mi codigo php y html. Desde ya muchas gracias!
PHP para enviar mail:

<?php
require 'class.phpmailer.php';

try {
$mail = new PHPMailer(true);
$body = file_get_contents('cumple.html');
$body = preg_replace('/\\\\/','', $body); //Strip backslashes

$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "mail.grupoeconat.com"; // SMTP server
$mail->Username = "[email protected]"; // SMTP server username
$mail->Password = "rrhh$2367"; // SMTP server password

//$mail->IsSendmail(); // tell the class to use Sendmail

$mail->AddReplyTo("[email protected]","RRHH");

$mail->From = "[email protected]";
$mail->FromName = "RRHH";

$to = "[email protected]";

$mail->AddAddress($to);

$mail->Subject = "Feliz cumpleaños! desde grupo Econat";//Encabezado

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap

$mail->MsgHTML($body);

$mail->IsHTML(true); // send as HTML

$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
?>

A continuacion html.
Cumple.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<table border="0" align="center" width="635px" height="809" background="Salutaciones_Cumple.png">
<tr>
<td>
<p align="center">
<font size="+3" face="Calibri" color="#FFFFFF">
<strong>
Diego
</strong>
</font>
</p>
</td>
</tr>
<tr>
<td height="640px"></td>
</tr>
</table>
</body>
</html>
  #2 (permalink)  
Antiguo 09/05/2014, 07:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Enviar archivo HTML a un correo con php

prueba a utilizar en la url de la imagen una ruta absoluta de una ubicación externa a ver que ocurre

Etiquetas: corre, html
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 23:09.