Probelm mit Newsletter

hasemann

Mitglied
Hallöchen PHP Gemeide!
Ich habe mal wieder ein Probelm und zwar habe ich ein Newsletter script gebaut:wo sich die User anmelden und abmelden können bis dahin war das auch kein Probelm.

Jetzt kommt das Probelm wenn ich jetzt alle einen Newsletter schreiben möchte weis ich nicht wie alle Email adressen aus der Datenbank lesen soll und diese dann in das Mail script bekomme,das ist bestimmt wieder ein leichtes für euch.Aber ich stehe auf dem schlauch.Ich habe es von mit einer While schleife probiert damit könnte ich zwar alle Emailadressen auslesen aber habe sie nicht in die Mail Funktion bekommen

mail(Emailadressen aus der Datenbank, $betreff, $text, "From: $sender ");

Ich würde mich freuen wenn ihr mir helfen könntet.Danke im Vorraus
 
Hi,
die Adressen bekommst du von MySQL in einem Array, einfach jedes Element des Arrays durchgehn
PHP:
for each ($mailadressen as $adresse){
 mail($adresse, .....)
}
 
Für "Massenemails" eigenen sich die PHP eigenen Funktionen glaube ich nicht so.
Such mal nach anderen Beiträgen - wurde schon oft besprochen! Gibt es bessere Alternativen soweit ich weiß ;)

lg
 
Doch mit Adressen in BCC kann man doch eigentlich an beliebig viele User schreiben.
Personalisierte muss man bei zu großer Menge in Schritten senden (Cron Job)
 
Ich habe das mal gerade probiert.Es geht aber nicht hmmm!
Ich glaube das ich heute wirklich auf dem Schlauch stehe.

So lese ich die DB aus
<?php

$anzeigen = mysql_query( "select * from newsletter " );
$daten = mysql_fetch_array($anzeigen);


foreach ($daten as $adresse)
{
echo $adresse;
}

da zeigt er mir die erste Adresse der DB an ?Eine Idee
 
Mit select * holst du dir immer die komplette Zeile des Eintrages aus der Datenbank, somit ist $daten ein Array. Wenn du mit mysql_fetch_array arbeitest, musst du bei $daten noch die Spalte aus der DB angeben. Mit mysql_fetch_assoc funktioniert dies mit dem Spaltennamen
 
Würde es mal anders versuchen
(in Code was peppijunior dir in Worten sagt) ;)

PHP:
$anzeigen = mysql_query( "select * from newsletter " );

while ($daten = mysql_fetch_array($anzeigen)) {
echo $daten['adresse']; 
}
 
Danke für euere Antworten.
So wie hier hatte ich es schon

$anzeigen = mysql_query( "select * from newsletter " );

while ($daten = mysql_fetch_array($anzeigen)) {
echo $daten['adresse'];
mail($daten['adresse'].............
}
aber dann ist das Probelm das er den Befehl solange ausführt bis alle Daten aus der DB gelesen sind und er würde dann immer eine Email nach der anderen verschicken in der While schleife.
Ich möchte es aber gerne das er erst alle Adresen ausliest und dann in Mail Funktion schreibt.
Sprich so hier
mail( Email1 aus DB,Email2 aus DB usw.) Versteht ihr wie ich das meine.Sprich eine Massenmail wie z.B bei Outlook dann kann man ja auch ein und die selbe Mail an alle verschicken getrennt durch ein ;
Ich würde mich freuen wenn ihr mir jetzt noch helfen könntet.
 
Bitte benutze die PHP-Tags um deinen Code zu posten.
PHP:
$anzeigen = mysql_query( "select * from newsletter " ); 
$arrAdressen = array();
while ($daten = mysql_fetch_array($anzeigen)) 
{ 
  array_push($arrAdressen,$daten['adresse']); 
}
So jetzt hast du ein array mit adressen die kannst du nach belieben weiterverarbeiten.

Und ich würde dir echt empfehlen die Adressen als BCC zu schreiben und nicht als TO.
Sonst sieht jeder an wen du alles deine newsletter verschickst das ist nicht wirklich gut!
 
Zurück