Uh, das ist n bissel lang ... meine funktionierende "Engine" sieht jetzt so aus:
PHP-Code:
// 1. Newsletter aus der Datenbank holen und Email-gerecht umwandeln
$query = mysql_query("SELECT nl_title,nl_content FROM newsletter_data WHERE nl_date='".$_SESSION['nl_date']."'",$dbase) or die(mysql_error());
$daten = mysql_fetch_array($query);
$newsletter=br2break(html2email($daten[nl_content]));
// 2. Newsletter an User verschicken
$query = mysql_query("SELECT nl_name,nl_email,nl_key FROM newsletter_user WHERE nl_isreg='1' LIMIT ".$_SESSION['limit'].",$newsletter_send_limit",$dbase) or die(mysql_error());
while ($daten = mysql_fetch_array($query))
{
echo $daten['nl_name']." ".$daten['nl_email']." ".$daten['nl_key']."<br>";
//mail();
}
// Check, ob bereits alle Abonennten verarbeitet wurden
if (($_SESSION['limit']+$newsletter_send_limit) < $_SESSION['anzahl_abo'])
{
$_SESSION['limit']+=$newsletter_send_limit; // Limit erhoehen
$statustext="Bitte warten Sie, die Newsletter werden verschickt: <span class=\"textmittel-rot\">".$_SESSION['limit']."</span> / <span class=\"textmittel-blau\">".$_SESSION['anzahl_abo']."</span> ...";
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$session;
$special_meta="<meta http-equiv=\"refresh\" content=\"3;URL=$url\">";
}
else
{
$statustext="Der Newsletter wurde erfolgreich an alle <span class=\"textmittel-blau\">".$_SESSION['anzahl_abo']."</span> Abonennten verschickt.";
unset($_SESSION['anzahl_abo']);
unset($_SESSION['limit']);
unset($_SESSION['nl_date']);
}
Alles klar?