Mail an mehrere Empfänger - Falsche Ergebnisse

qsrs

Erfahrenes Mitglied
Hallo,

ich habe ein Script geschrieben, mit welchem ich u.a. Mails an mehrere Empfänger schicke. Dabei hole ich die Informationen aus einer DB. Es gibt mehrere Gruppen, so dass man entweder an einzelne Gruppen, oder auch an alle eine Mail schicken kann. Ich gebe die Abfrage zum Testen mit echo aus, und bekomme leider nicht das gewünschte Ergebnis. Bei der Gruppe in welcher zwei User vorhanden sind, wird z.B. nur eine E-Mail ausgegeben, wenn ich alle auswähle fehlt immer eine E-Mail und in den Gruppen, in welcher nur ein User vorhanden ist, wird gar keine E-Mail ausgegeben.

Hier die wichtigsten Elemente + Kommentar:

PHP:
//Gibt einige Header Informationen mit
$xtra2 .= "From: ".$array2[site_name]." <".$array2[admin_email].">\n";
$xtra2 .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n";
$xtra2 .= "X-Mailer: PHP ".phpversion()."\n";
$xtra2 .= "$set_priority";
 
//Die Abfrage der in der Datenbank vorhandenen Benutzer
if ($user_group == "all_groups") {
$sql3 = "SELECT * FROM `$dbtable3";
}
elseif ($user_group == "1") {
$sql3 = "SELECT * FROM `$dbtable3` WHERE `user_group` = '1'";
}
elseif ($user_group == "2") {
$sql3 = "SELECT * FROM `$dbtable3` WHERE `user_group` = '2'";
}
elseif ($user_group == "3") {
$sql3 = "SELECT * FROM `$dbtable3` WHERE `user_group` = '3'";
}
elseif ($user_group == "4") {
$sql3 = "SELECT * FROM `$dbtable3` WHERE `user_group` = '4'";
}
elseif ($user_group == "5") {
$sql3 = "SELECT * FROM `$dbtable3` WHERE `user_group` = '5'";
}
$query3 = mysql_query ($sql3, $dbconnect);
while ($row = mysql_fetch_array ($query3)) {
	$xtra2 .= "Bcc: ".$row[user_email]."\r\n";
	}
mail ("".$array2[site_name]." <".$array2[admin_email].">", $subject, $mail, $xtra2);
}
Danke im Voraus für Antworten.
 
PHP:
 //Gibt einige Header Informationen mit
$xtra2 .= "From: ".$array2['site_name']." <".$array2['admin_email'].">\n";
$xtra2 .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n";
$xtra2 .= "X-Mailer: PHP ".phpversion()."\n";
$xtra2 .= $set_priority;
 
//Die Abfrage der in der Datenbank vorhandenen Benutzer
if ($user_group == "all_groups") {
  $sql3 = "SELECT `user_email` FROM `$dbtable3`";
}
else {
  $sql3 = "SELECT `user_email` FROM `$dbtable3` WHERE `user_group` = '1'";
}

$query3 = mysql_query ($sql3);
while ($row = mysql_fetch_array ($query3)) {
  $xtra2 .= "Bcc: ".$row['user_email']."\r\n";
}
mail (array2['site_name'], $subject, $mail, $xtra2);
}
www.php.net hat gesagt.:
Anmerkung: Der to-Parameter sollte nicht in der Form "irgendwas <irgendwer@example.com>" sein, da dies von PHP möglicherweise nicht korrekt an den MTA übergeben werden kann.
 
Besten Dank für deine Antwort. Habe den Fehler gefunden. Ich hatte vor der while-Schleife noch folgende Abfrage:

$array3 = mysql_fetch_array ($query3)

Das hatte wohl gestört. Bin ich erst nach deiner Antwort darauf gekommen, also nochmals vielen Dank.
 
Zurück