Foros del Web » Programando para Internet » PHP »

Leer una plantilla externa para mandar mail masivo

Estas en el tema de Leer una plantilla externa para mandar mail masivo en el foro de PHP en Foros del Web. A ver, para los ke están vivos a ésta hora. Pasa lo siguiente tengo un form de envio de mail masivo desde el cual escojo ...
  #1 (permalink)  
Antiguo 30/07/2004, 03:21
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 15 años, 10 meses
Puntos: 0
Leer una plantilla externa para mandar mail masivo

A ver, para los ke están vivos a ésta hora.

Pasa lo siguiente tengo un form de envio de mail masivo desde el cual escojo una imágen y un tipo de mail (semanal, noticidiaria, etc), al procesar el form me lleva a otra página ke es donde envia los mails sacados de una base.

Al otro archivo le pasa los campos $Asunto, $from, $imagen y $tipopromocion

antes de enviar debo leer un archivo de plantilla ke tiene el html del mensaje, en el cual van insertas unas variables (por ejemplo la imágen escogida).

Mi problema, leo el archivo pero las variables las considera como caracteres dentro de la cadena de string asignada.

asi leo el archivo

$archivo = $promocion.".php";
$fp = fopen($archivo, "r");
$contenido = fread($fp, filesize($archivo));
fclose($fp);
$Mensaje=stripslashes($contenido);

supongamos que el archivo contuviera:
<html>
....
<img src=$imagen>
...
</html>

y la variable $imagen="jueves.jpg" sin importar la ruta ke tenga, la cual considero al momento de hacer el traspaso.

Entonces $mensaje="<html>...<img src=jueves.jpg>...</html"; al menos eso deberia ser según lo que yo he hecho antes. Pero !!! mensaje queda asi:

$mensaje="<html>...<img src=$imagen>...</html>";

y ese es mi problema.

Por qué sucede, no logro entender.

Alguna sugerencia ??
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------
  #2 (permalink)  
Antiguo 30/07/2004, 03:37
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 13 años, 4 meses
Puntos: 0
No se si sea la mejor respuesta, o si te funcione, pero podrias intentar un search and replace por cada variable, o en un array

digamos que buscas la palabra "=$imagen" y la reemplazas con "=".$imagen

o con expresiones regulares.

aunque como te digo es solo una idea, no estoy seguro si funcionaria, o exista alguna otra manera mas sencilla de hacerlo.

u otra idea que se me acaba de ocurrir es en el template poner las variables asi ".$imagen." asi cuando la lea en el mensaje quedaran asi $mensaje = "<img src='".$imagen."'>";

suerte
__________________
Shanti Castillo G.

Última edición por Shantic; 30/07/2004 a las 03:40
  #3 (permalink)  
Antiguo 30/07/2004, 04:59
Avatar de execon  
Fecha de Ingreso: enero-2002
Ubicación: Temuco
Mensajes: 179
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo

No sirve esa solución, ya la probé... pero !!!!
unci
pude rtesolverlo usando ésta funcxión que encontré en los foros:

Código PHP:
function mostrarTemplate($tema, $variables) 
{   
    $cod = implode("", @file($tema)); 
    ob_start(); 
    extract($variables); 
    eval('?>'.$cod.'<?); 
    
$temp=ob_get_contents(); 
    
ob_end_clean(); 
    return 
$temp


$archivo "../mails/plantilla.php";
$variablesmensaje= array ("lafecha" => $lafecha,
                          
"promocion" => $promocion,
                          
"lista" => $lista);
$Mensaje=mostrarTemplate($archivo$variablesmensaje);
solucionado el problema con éto a la perfección.

Preguntando se llega a roma dicen por ahi....
__________________
----------------------------------
APP Developer
[email protected]
----------------------------------
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 10:29.