Ya que las N noticias a enviar van a formar el mismo cuerpo de mensaje para tu e-mail .. haz tu consulta SQL a tu BD para obtener las noticas de ese día.
Código PHP:
$_pagi_sql = "SELECT *
FROM sistema_noticias, newsletter
WHERE f_fecha_barrido = '2004-12-03' ";
//muestro result
$shtml ="<strong>Informe de Prensa</strong>
<br>
<strong>Fecha: ".mostrarfecha($hoy)." Hora: ".$hora."</strong>
<br>
<strong>Información.</strong>";
while($row = mysql_fetch_array($_pagi_result)){
$titulo_articulo = $row[titulo_articulo];
$fuente_articulo = $row[fuente_documento];
$fecha_articulo = $row[fecha_publicacion];
$contenido_articulo = $row[contenido];
$shtml .= "<br>-.-
<p>
".$titulo_articulo."
<br>
".$fuente_articulo."
<br>
".$fecha_articulo."
<br>
".$contenido_articulo."
<p>
} // cierre bucle que lee tus noticias
$shtml .="<strong>Un Saludo</strong>
<br>
<strong>Sala de redacción</strong>
<br>
<strong>-.-.-.-.-.-.-.-.-.-.-.-.-.-.-</strong>";
Ahí tendras en $shtml concatenado tu "cabecera" del e-mail .. las N noticias que lees de tu BD . .y el "pié" de mail .. Observa donde empieza y donde acaba el bucle y que se usa un .= para concatenar la variable con sus resultados ...
Luego, haz tu consulta a tu BD de usuarios como ya lo sabras hacer y usa $shtml como "cuerpo" (body) para tu mensaje .. Recuerda que la función mail() ha de estar en el bucle que hagas pues vas a enviar uno por uno e-mails a tus usuarios "personalizados". Los $encabecedos para mail() no deben estar en el bucle, por lo menos los que son fijos (hay unos cuantos que lo son . .fijate).
Un saludo,