Newsletter Senden // php+mysql problem

Bl4dE

Mitglied
Hi Zusammen.
ich bins wieder :D

Ich arbeite gerade an einem Newsletterscript mit php und MySQL.
Das speichern der eMail ist ja nicht das Problem. Aber das auslesen und senden.

Mein code lautet wie folgt:
Code:
 <?
  $header = $_POST['news'];
  if(!empty($_POST['news'])){
//verbindung zu datenbank
$db=mysql_connect("localhost","ctchen","blacktable");
//eMail-addressen auslesen und in einem array speichern
$SQL = " Select `mail` from newsletter";
$resultat = mysql_db_query("ctchen",$SQL);
while($mails=mysql_fetch_array($resultat)){
extract($mails);
mail($mails,$subject,$header);
}
mysql_close($db);
} else {
echo "bitte richtig ausfüllen !";
}

?>

Er bringt aber folgenden Fehler in Zeile 33 (diese: mail($mails,$subject,$header); ):
Warning: mail() expects parameter 1 to be string, array given in
/usr/export/www/vhosts/funnetwork/hosting/ctchen/v.2.0/newslettersend.php
on line 33

Woran könnte das liegen ? Am array $mails? wenn ja wie kann ich das beheben :confused:

Bin dankbar für alle vorschläge :)
 
Probier mal das hier...
PHP:
mail($mails['mail'],$subject,$header);

Sollte so eigentlich klappen... Und dementsprechend kannst du das "extract($mails)" wegmachen... Oder du machst es so und lässt das "extract($mails)"...

PHP:
mail($mail,$subject,$header);

Die Antwort ist einfach, dass $mails ein Array ist, das du aus deiner MySQL Abfrage ist... Somit hat es als allgemeine Variablenangabe keinen eigentlichen Inhalt, also meldet mail() eine Fehlfunktion...

Grüße,
Flex
 
PHP:
 $sql = "SELECT ... FROM ... ;";
 $mails = mysql_query($sql, $connect) or die(mysql_error());
 $row = mysql_fetch_assoc($mails);
 $totalRows = mysql_num_rows($mails);
 ...
 $i = 1
 do {
 mail($row['mail'],$subject,$header);
 $i++
 } while ($row = mysql_fetch_assoc($mails));

so würd ich das machen, habs aber nich getestet

EDIT:
naja da war wohl wer schneller ^^
 
Zuletzt bearbeitet:
Zurück