Foros del Web » Programando para Internet » PHP »

Enviar mail siendo el mensaje un html con php incrustado

Estas en el tema de Enviar mail siendo el mensaje un html con php incrustado en el foro de PHP en Foros del Web. Buenas a todos, llevo un tiempo intentando hacer una cosilla y no lo he conseguido por eso acudo a vosotros. Resulta que yo en una ...
  #1 (permalink)  
Antiguo 09/01/2009, 03:09
 
Fecha de Ingreso: octubre-2006
Ubicación: España
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Enviar mail siendo el mensaje un html con php incrustado

Buenas a todos, llevo un tiempo intentando hacer una cosilla y no lo he conseguido por eso acudo a vosotros.

Resulta que yo en una aplicación envio emails con la clase phpmailer donde el mensaje es un html/php que contiene algunos variables. Para no complicar mucho la pregunta y que todos me entendais lo que me gustaria es mandar un email con esta clase pero el mensaje en lugar de tenerlo en el mismo fichero poder importarlo de un fichero .php externo.

Actualmente lo tengo así:
Código PHP:
$destinatario "[email protected]";
$responder"[email protected]"
$remitente"Aplicacion XXX";
$mensaje "<html>
              <head>    </head>
              <body>VARIABLE = "
.$variable."</body>
        </html>"
;

include_once(
"../phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->Host "localhost";
// Introducimos la información del remitente del mensaje
$mail->From     $responder;
$mail->FromName $remitente;
$mail->AddReplyTo($responder,$remitente);
$mail->AddAddress($destinatario); 
// Establecemos los parámetros del mensaje: ancho y formato.
$mail->WordWrap 50// ancho del mensaje
$mail->IsHTML(true); // enviar como HTML
// Añadimos el mensaje: asunto, cuerpo del mensaje en HTML
$mail->Subject  =  "ASUNTO EMAIL";
$mail->Body     =  $mensaje;
$mail->Send(); 
De esa forma me funciona correctamente, pero lo que yo quiero es que ese trozo de codigo html/php (la variable $mensaje) ponerlo en un archivo externo para que el cliente lo pueda personalizar. He leido que hay funciones como loadVars que cargan el contenido de un fichero en una variable, pero en ese caso sería solamente texto plano. He pensado que después ese texto plano se podría interpretar como php pero no me ha funcionado.
Espero que se os ocurra algo o incluso hacerlo de alguna otra forma.

Gracias y un saludo
  #2 (permalink)  
Antiguo 09/01/2009, 04:27
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: Enviar mail siendo el mensaje un html con php incrustado

Tienes que usar un sistema de plantillas. Puedes usar uno ya hecho o hacer uno sencillo. El cliente crea el fichero en el formato del sistema de plantillas, que normalmente es html con cadenas especiales para insertar las variables (poner {NOMBRE} donde va el nombre del destinatario). El sistema de plantillas es el que sustituye esas cadenas por los valores de las variables.
  #3 (permalink)  
Antiguo 12/01/2009, 07:42
 
Fecha de Ingreso: octubre-2006
Ubicación: España
Mensajes: 37
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Enviar mail siendo el mensaje un html con php incrustado

Gracias, estaba un poco perdido y con lo que me has indicado he comenzado una nueva búsqueda y ya he dado con la solución que mejor se adaptaba a mi situación.
Finalmente he utilizado un sencillo sistema de plantillas que he encontrado en la web de cristalab.

Un saludo.
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:30.