Problem mit Newslettersystem

chpa

Erfahrenes Mitglied
Hi Leute,

habe ein kleines Problem mit meinem Newsletter.

Also zur Zeit programmiere ich den Newsletter. Dabei soll man einerseits allen Mitgliedern gleichzeitig eine Mail schicken können und andererseits bestimmte Mitglieder auswählen können.

Jetzt gebe ich praktisch die Mitglieder die in der Datenbank sind aus und mache eine Checkbox dahinter. Also bei wem die Checkbox on ist, der soll eine Mail bekommen.

Wie mache ich das jetzt mit der Datei, die die Mails versendet? Wie kann ich da nachschauen, wer angeklickt wurde?

Geht das vielleicht mit einer Session?

Mfg
Patte
 
Am besten übergibst du die Formularparameter in einer Format, das PHP in ein Array verarbeitet:
HTML:
<input type="checkbox" name="empaenger[]" value="benutzer-1@example.net">
<input type="checkbox" name="empaenger[]" value="benutzer-2@example.net">
…
<input type="checkbox" name="empaenger[]" value="benutzer-n@example.net">
Die Werte aller ausgewählten Checkboxen sind später in einem handlichen Array (beispielsweise $_POST['empfaender']) verfügbar.
 
O.k. das ist eine Möglichkeit...

Aber einProblem dabei ist, (was ich oben leider noch nicht angesprochen habe) ich versende jede Mail einzeln, da ich jeden persönlich ansprechen möchte!
 
Dann nimm statt der E-Mail-Adresse die Benutzer-ID oder einen anderen eindeutigen Identifikator des entsprechenden Datensatzes und frage die benötigten Daten ab.
 
Geht ja nicht,

ich muss ja variabel bleiben. Ich kann ja keinen Variablen-Namen aus der Datenbank ausgeben lassen.
 
Gumbo hat schon recht. Du nimmst einfach die Benutzer-ID oder arbeites mit der Mail adresse weiter (die auch Unique sein sollte - denk ich ma ;) ).
Das PHP-Script was das Formular verarbeitet muss dann halt jede Mail einzeln versenden.

Du schreibst in deine Mail z.B. "Hallo $nickname," und in deiner Verarbeitenden-PHP wird dieses $nickname durch den jeweiligen Namen ersetzt.

Ein Tipp für deine Serverlast:
Wenn du die PHP 1000 Mails losschicken lässt, die alle unterschiedlich sind dann Rappelt der Server aber gewaltig. Speichere die Mails, die zu versenden sind, deshalb in einer extra SQL-Tabelle ab und schreibe dir ein Script, das bei Aufruf nur die ersten 20 verschickt.
Da es natürlich sehr aufwendig ist dieses Script andauernd per Hand aufzurufen, informiere dich einmal über CronJobs. Die helfen dir dieses "Versende-Script" in bestimmten Intervallen laufen zu lassen (alle 2 Minuten oder mehr) ohne das du was dafür tun musst.
 
Zurück