Brauche Hilfe bei meinem Mailtauschscript!

PHPer

Erfahrenes Mitglied
Hey Leute!

Ich möchte mir gerne mein eigenes Mailtauschscript coden und bräuchte mal Hilfe von Euch, villeicht gar von jemandem der schonmal eins gecoded hat? :-)
Es geht nämlich um die Auswahl der User an die die Mails geschickt werden sollen.
Bei der Anmeldung soll jeder User einen eigenen Usernamen bekommen (und den bekommt er auch, soweit bin ich schon!.:-) ). Ebenfalls soll der User Kategorien auswählen (min. eine bis alle) und angeben können wieviele eMails er maximal am Tag erhalten möchte (z.B. 1, 2, 5, 10, unendlich viele).
Beim Verschicken der Mails soll der User angeben können wieviele eMails er verschicken will, was er für eMails verschicken will (z.B. von 10-60 sek Wartezeit) und an welche Kategorien (min. eine bis alle).
Anschließend soll der Text erstmal an mich damit ich überprüfen kann was da verschickt wird, nicht dass die User meinen sie dürften illegale oder rasisstische Seiten oder so bewerben. :-)
Dann soll das Script nach meinem OK die Angaben des Senders mit den Angaben der Empfänger vergleichen, also wer will eMails aus dieser und jener Kategorie haben und hat er schon seine 10 eMails erhalten wenn er jetzt z.B. angegeben hat er will nicht mehr als 10 eMails, dann den Maillink generieren, die eMail zusammenstellen (text, link, usw.) und verschicken. Danach soll dem Sender mitgeteilt werden wieviele seiner eMails versendet werden konnten und überschüssige Punkte wieder auf sein Guthabenkonto packen.
Wie stell ich das ambesten an?

Desweiteren such ich noch nach einer Möglichkeit die eMails (wegen den Links, Statistiken und so) DB Schonend speichern zu können. Wenn eine eMail also z.B. an 100 User verschickt werden soll müssten dann ja praktisch 100 Eintragungen für jeden User stattfinden können. Diese würden dann nicht gelöscht werden da bei der MySQL DB die IDs nicht nachrücken und irgendwann hätte ich ne hundertstellige ID!?
Was gibts da an Möglichkeiten die Mails schonend zu Speichern? Im Moment hab ich für jeden User eine Zeile damit ich diesen nach bestätigen der Mail sperren kann und der User ne Meldung bekommt dass er die eMail schon bestätigt hat, die zu bewerbende Seite aber dennoch angezeigt wird.

Naja, ich hoffe es kann mir wer Helfen von Euch bei meinem Vorhaben. Lieben Dank schonmal im vorraus !:)
 
Tipp wegen dem Speichern:
Ich würde jeden Mailversand einmal speichern. Du kannst dann entweder in einer Spalte dieser Tabelle die IDs der User schreiben (z.b. durch Kommas getrennt), die du dann als Empfänger dieser E-Mail zuordnen kannst. Oder du machst eine extra Tabelle und schreibst dort die User-IDs rein.

Gruß,
matt
 
Ist die Frage nur wie das mit der Tabelle laufen soll?

Würd ich wie beim ersten Fall die User mit einem , trennen, und ein User bestätigt die eMail, müsste ich seinen Nick dann rausnehmen, damit er diese eMail nicht erneut bestätigen kann. Wie soll das gehen? Die Abfrage muss doch schon Wildcards (%%) enthalten damit die entsprechende eMail ID überhaupt erst gefunden wird. Aber den User dann noch löschen? Lösungsvorschlag?

Wie Du das mit der zweiten Tabelle machen willst versteh ich nicht so ganz. Was mir grad in den Sinn kommen würde wäre die eMail einmal zu speichern und dann für jeden User direkt hinter dem eMailtext je eine Spalte mit dem Nick zu erstellen und dann immer ein Häckchen reinzumachen wenn die eMail an den User verschickt werden soll. Dann müsste ich bei der Anmeldung immer eine Tabelle für den User anlegen lassen. Und bei 100 Usern hätte die Tabelle über 100 Spalten! Aber ob das so ok geht? Oder gibt es da noch was schonenderes? :rolleyes:
 
Was meinst du mit "E-Mail bestätigen"?

Die ganze Fragestellung oben ist etwas verwirrend geschrieben. Ich versuch mal wiederzugeben, was ich verstanden habe:

//
Dein System enthält verschiedene Benutzer, von denen jeder bestimmten, mindestens aber einer Kategorien zugeordnet ist und ein Punktekonto besitzt. Die Punkte entsprechen in irgendeiner Form der Erlaubnis, XX Mails zu versenden. Jeder Benutzer kann aber definieren, wie viele Mails er (in welchem Zeitraum? Einmalig? Pro Tag?) erhalten will.

//
Ein User kann nun auch E-Mails mit bestimmter Punktezahl an Benutzer, die bestimmten Kategorien zugeordnet sind, verschicken. Verschickt wird ein Text und ein Link, den der Empfänger anklicken muss, um die Mail zu bestätigen (warum bestätigen?). Irgendwelche (welche?) Punkte werden (welchem?) Benutzer gutgeschrieben.

Was genau möchtest du nun speichern? Den Mailtext, der verschickt wurde und die dazugehörigen Empfänger? Warum willst du die Empfänger später rauslöschen (man kann dann auch nicht mehr nachvollziehen, wer diese Mail empfangen hat)?

Gruß,
matt
 
Sorry wenns verwirrend ist? War für mich verständlich als ichs geschrieben hab.

Also:

//
Jeder Besucher der sich anmeldet gibt an, aus welchen Kategroein er eMails erhalten möchte, und wieviele am Tag maximal. Er besitzt auch ein Punktekonto. Der User bekommt eMails zugeschickt und muss diese lesen und bestätigen damit er die Punkte bekommt. Bestätigen darum:
Du möchtest für Deine Webseite werben und verschickst eine eMail an einen User.
Dieser bekommt dafür Punkte, setzt die eMail auf die Spam Liste, liest sie nicht, besucht auch nicht Deine Webseite, und somit hast Du nix davon, nur er seine Punkte, durch die er seine eMails verschickt die wiederum andere auf die Spam Liste setzen usw.. Somit ist doch der ganze Mailtausch nutzlos, oder?
Darum das Bestätigen: In dieser Bestätigung ist auch ein Besuch Deiner Webseite mit enthalten. Diese wird nämlich im Frame geladen. Der Besucher muss dann z.B. 30 Sekunden warten um seine Punkte gutgeschriben zu bekommen. Und während dieser 30 Sekunden schaut er sich eben deine Webseite an.
Somit hast Du einen Besucher mehr, der sich villeicht noch für Deine Webseite interessiert und diese weiter durchforstet, und somit hat sich deine Werbekampagne gelohnt, und er hat dafür seine Punkte bekommen.

//
Jeder User kann ab einer gewissen Punktzahl (z.b. wenn er 300 Punkte zusammen hat) diese in eigene eMails umtauschen. Eine eMail kostet eine gewisse Anzahl von Punkten, durch die sich auch die oben besagte Anschauzeit ergibt, also z.B. für 3 Punkte schaut sich der Empfänger die Webseite 10 sek. lang an, für 6 Punkte 20, für 9 Punkte 30, usw..
Desweiteren kann der User auswählen wieviele eMails er versenden möchte. Er darf mit sicherheit nicht mehr verschicken als ihm an Punkten zur verfügung steht, aber er kann auch sagen er möchte eMails z.B. nur für die Hälfte der Punkte versenden.
Und dann soll der User noch Kategorien auswählen können an welche die eMail geht. So hat er z.B. die möglichkeit Leuten Reiseemails zu senden die Reiseemails empfangen möchten. Wer keine Reiseemails will, der kriegt dementsprechend auch keine. Was bringt es z.B. jemandem eine Einkaufsemail zu schicken der etwas in der Kategorie Kostenlos steht? Der möchte nunmal kein Geld ausgeben! Ich weis, blödes Beispiel! :-)

//
Das System ist nun dafür da um entsprechende Empfänger auszusuchen die zu den gewählten Kriterien des Senders passen. Möchte ein Empfänger keine Reise emails, so sollen ihm auch keine zugeschickt werden. Und wenn wegen diesem Empfänger jetzt Punkte übrig bleiben (Sender versendet 10, es können aber mangels passender User nur 5 eMails versendet werden), dann sollen die dem Sender wieder aufs Konto gepackt werden. Selbiges gilt für User die z.B. nicht mehr als 10 eMails am Tag haben möchten. Ist die grenze von 10 erreicht so sollen ihm keine weiteren eMails zugeschickt werden und die Punkte gehen aufs Konto zurück.

Gespeichert werden soll erstmal der Text selbst samit ich den überprüfen kann und dann eben noch die URL und die der zugeordneten Empfänger:

Der Empfänger hat jetzt z.B. eine eMail bekommen und bestätigt diese mit folgendem Link:

http://www.domain.de/bestaetigung.php?user=USERNAME&mailid=NUMMERDEREMAIL

Dieser Link öffnet das besagte Frame. In Ihm stehen Anweisungen damit das Script eben erkennt um welche email es sich handelt. Das Frame geht als in die Datenbank, sucht nach der eMail (NUMMERDERMAIL) und der ihr zugeordnetem User(USERNAME), und öffnet die entsprechende Seite im Frame. Und den rest weiste ja, user schaut sich die hp an, bekommt Punkte dafür, usw.. Hat der User diese eMail bestätigt, bekommt er die Punkte, und die eMail wird als bestätigt markiert, damit der User nicht nocheinmal Punkte dafür kassiert.
Würd ich diese jetzt aber nicht löschen, so würde diese nur noch die DB verstopfen bis irgendwann der Space voll ist. Ich kann wohl noch für die Statistik bestätigte eMails zählen lassen, das ist ebenfalls kein Problem.
Wer letztlich diese eMail empfängt ist egal, solange das Script die Empfänger richtig auswählt, bekommt der richtige User auch die ihm passende eMail.

Also Text, Link und die zugeordneten User. sollen gespeichert werden. Die Frage ist halt jetzt wie ich dafür die Tabellen mach und wie die Abfrage dafür aussehen muss, müssen ja schliesslich 3 Sachen gleichzeitig irgendwie abgefragt werden (User, Kategorie, eMaillimit).
Und da weis ich halt nicht wie ich erstmal diese Tabellen ambesten machen kann und erst recht nicht wie nicht wie sone 3fach abfrage gehen soll.
Bin kein Schleifenprofi... :(
 
Zurück