Ver Mensaje Individual
  #10 (permalink)  
Antiguo 22/10/2003, 11:33
Jordi1
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
Imagino que los datos los sacas de un BDD, asi pues te paso una funciocilla que te puede ir bien

Código PHP:
function mostrar_html($tema, $variables)
{  
    $cod = implode("", @file($tema));
    ob_start();
    extract($variables);
    eval('?>'.$cod.'<?);
    
$temp=ob_get_contents();
    
ob_end_clean();
    return 
$temp;
}
Bien te la explico un poco a ver si se:

La variable $tema es la ruta de tu archivo html, el este archivo tienes de configunar las variables que quieras que se personalicen , bien pues escribes esto en donde quieras que se escriba en contenido de una variable, el nombre por ejemplo


Código PHP:

//codigo html ....
Estimado Sr <?=$nombre?>  <?=$apellidos?> :
//codigo html
escribir una variable asi en un archivo html es como si hicieras un echo en un archivo php.

Lo que es importante esque el nombre de las variables coincidan con el campo de tu tabla de la base de datos que quieres que salga en tu email.

bien; y la variable $variables seria el array que te sale despues de la consulta por ejemplo
Código PHP:
$tema="ruta_al_archivo/archivo.htm";
$asunto"prueba de boletin";
$remitente="[email protected]";

$result=mysql_query("SELECT * FROM usuarios ") or die (mysql_error());

while (
$query=mysql_fetch_array($result)){
    
    
$html_personalizadomostrar_html($tema$query)
    
    if(!
mail($query['email'], $asunto$html_personalizado,$remitente))
       echo 
"no se ha podido enviar este ".$query['email'];
       else echo 
"correcto se ha enviado este ".$query['email'];
}
//fin while 
No lo he probado quizas haya algun error de sintaxis o algo que me he olvidado pero mas o menos es asi, solo lo tienes de adaptar a tus necesidades..

Por cierto si tienes de enviar muchos mails pon
set_time_limit(0); para que no se corte, aunque si son muchos miles este script es un poco pobre seria mejor como ya te he dicho antes usar una clase SMTP

espero que te sirva

un saludo