Julian Finn: Newsletter

Hallo,
ich bin gerade dabei, die Mmöglichkeit auf meiner Site zu
installieren, sich bei einem Newsletter einzutragen.
Dabei habe ich mir folgendes gedacht: Der User trägt seinen Namen und seine e-mail-Adresse ein. Dann erreicht ihn eine Mail mit der Bitte, einem Link zu folgen, der in etwa so aussieht: ".../eintragen.php?id=[irgendwas verschlüsseltes]".
Sobald dieser Link gedrückt ist, wird die Mailadresse in der Datenbank "freigeschalten".
Nun meine Fragen:
a) wie würde ich das mit dem [irgendwas verschlüsseltes] lösen, das in die genannte URL kommt?
b) bin ich mit dieser Lösung auf dem Richtigen weg, oder soll ich das irgendwie eleganter machen?

Grüße und Danke im Voraus,

Julian

  1. Hallo!

    Dabei habe ich mir folgendes gedacht: Der User trägt seinen Namen und seine e-mail-Adresse ein. Dann erreicht ihn eine Mail mit der Bitte, einem Link zu folgen, der in etwa so aussieht: ".../eintragen.php?id=[irgendwas verschlüsseltes]".
    Sobald dieser Link gedrückt ist, wird die Mailadresse in der Datenbank "freigeschalten".

    Nun meine Fragen:
    a) wie würde ich das mit dem [irgendwas verschlüsseltes] lösen, das in die genannte URL kommt?

    Ich frage nur nach der Emailadresse. Die Emailadresse trage ich in die DB ein. Dann versende ich eine Email mit einem Link und folgenden Aufbau..

    http://www.domain.de/anmeldung.phtml?email=andre.laugks%40gmx.de&uid=62e96ea934eae8a4960d4da152ab7a4b

    $uid = md5(uniqid(rand()));

    Ich vergebe jedem User ein uniqid-id. Anhand der Emailadresse und der uniqid-id, identifiziere ich den User.
    Eigentlich reicht die ID der Zeile in der DB. Aus dieser ID könnte der User dann aber Rückschlüße ziehen, wieviele angemeldet sind ;-). Wenn ein User etwas Zeit hat, könnte der eine Emailadresse in die URL eintragen und dann die ID immer um eins erhöhen. Wenn er Glück hat trifft er eine Emailadresse und hält sich für den größten Hacker.

    In der DB habe ich auch eine Spalte "aktiv", Wir die Anmeldung bestätigt, setze ich aktive=0 auf aktive=1.

    Erfolgte innerhalb einer bestimmten zeit keine Bestätigung, wird der Eintrag aus der DB gelöscht. Du solltest also noch eine Datumsspalte mit einfügen.

    b) bin ich mit dieser Lösung auf dem Richtigen weg, oder soll ich das irgendwie eleganter machen?

    Das kommt immer drauf an, wie viele Leute sich in den Newsletter eintragen. Das ganze An- und Abmelden ist ja das einfachste. Wenn es zuviele Empfänger sind, ist eine "Newsletter/Mailinglisten-Software" besser geeignet.

    MfG, André Laugks

    1. Hallo!

      Dabei habe ich mir folgendes gedacht: Der User trägt seinen Namen und seine e-mail-Adresse ein. Dann erreicht ihn eine Mail mit der Bitte, einem Link zu folgen, der in etwa so aussieht: ".../eintragen.php?id=[irgendwas verschlüsseltes]".
      Sobald dieser Link gedrückt ist, wird die Mailadresse in der Datenbank "freigeschalten".

      Nun meine Fragen:
      a) wie würde ich das mit dem [irgendwas verschlüsseltes] lösen, das in die genannte URL kommt?

      Ich frage nur nach der Emailadresse. Die Emailadresse trage ich in die DB ein. Dann versende ich eine Email mit einem Link und folgenden Aufbau..

      http://www.domain.de/anmeldung.phtml?email=andre.laugks%40gmx.de&uid=62e96ea934eae8a4960d4da152ab7a4b

      $uid = md5(uniqid(rand()));

      Ich vergebe jedem User ein uniqid-id. Anhand der Emailadresse und der uniqid-id, identifiziere ich den User.
      Eigentlich reicht die ID der Zeile in der DB. Aus dieser ID könnte der User dann aber Rückschlüße ziehen, wieviele angemeldet sind ;-). Wenn ein User etwas Zeit hat, könnte der eine Emailadresse in die URL eintragen und dann die ID immer um eins erhöhen. Wenn er Glück hat trifft er eine Emailadresse und hält sich für den größten Hacker.

      naja. diese ID der Zeile ist ja genau das gleiche als nehme man nur die email-adresse. das bringt nix. aber wozu die e-mail-adi + die uniqid-id?

      In der DB habe ich auch eine Spalte "aktiv", Wir die Anmeldung bestätigt, setze ich aktive=0 auf aktive=1.

      Erfolgte innerhalb einer bestimmten zeit keine Bestätigung, wird der Eintrag aus der DB gelöscht. Du solltest also noch eine Datumsspalte mit einfügen.

      habe ich mir auch schon gedacht..

      b) bin ich mit dieser Lösung auf dem Richtigen weg, oder soll ich das irgendwie eleganter machen?

      Das kommt immer drauf an, wie viele Leute sich in den Newsletter eintragen. Das ganze An- und Abmelden ist ja das einfachste. Wenn es zuviele Empfänger sind, ist eine "Newsletter/Mailinglisten-Software" besser geeignet.

      also ich glaube nicht, daß mehr als 2 oder 3000 leute diese mailingliste jemals benutzen werden. momentan siehts eher nach nem 10tel aus... von daher is so ne software noch nicht nötig...

      dankeschön,

      Julian

      1. Hallo!

        naja. diese ID der Zeile ist ja genau das gleiche als nehme man nur die email-adresse. das bringt nix. aber wozu die e-mail-adi + die uniqid-id?

        Nur eine id, also "123" mit an die URL zu hängen ist läpsch. Wie sieht das bei einer Abmeldung aus? Ein Spaßvogel ändert das auf "124". Da Du nicht die Rückantwort einer Email entgegen nimmst und somit die Emailadresse des Users rausfinden kannst, sondern ein Link verwendest, solltest Du zwei Parameter mit anhängen. Ich nehme die Emailadresse und die uniqid-ID, die beide einmaling sind.

        Mir ist die Ordnung in meiner DB sehr wichtig. Ich will mir bei Änderungen in der DB sehr sicher sein. Ich möchte auch nicht, daß ein Abonnent wegen irgendwelchen Kinderhackerein belästigt wird, weil einer an der id im Link rumspielt. Dieser Newsletter geht nicht an gute Bekannte, sondern an Kunden, Geschäftspartner und Privatleute(so zusagen Kunden).

        also ich glaube nicht, daß mehr als 2 oder 3000 leute diese mailingliste jemals benutzen werden. momentan siehts eher nach nem 10tel aus... von daher is so ne software noch nicht nötig...

        Das meinte ich ja. Bei 1000 Emailadressen kannst Du z.B. immer 50 Emailadressen ins BCC stecken. Du mußt die höchstlauf des Scriptes beachten. Für PHP ist als Standard 30 Sekunden eingestellt. Auch sendmail etc.(MTA) kann eventuell nicht so viele Emails aufeinmal verarbeiten.

        MfG, André Laugks

  2. Hallo Julian,

    also das mit eMailadresse eintragen ist ja ok, aber das mit dem Namen würde ich mir an deiner Stelle mal genau überlegen, ob du das letztendlich möchtest, zumal derzeit mal wieder ein neue Abmahnwelle diesmal in Sachen Newsletter durchs Land zieht

    siehe hierzu folgenden Artikel:
    => http://www.golem.de/showhigh.php?file=/0107/14660.html&wort[]=Newsletter (eine Zeile!)

    Ich persönlich hätte damit zwar kein Problem meinen Namen da einzutragen, aber andere sehen das wohl anders ...

    Mfg.

    Sascha

    Hallo,
    ich bin gerade dabei, die Mmöglichkeit auf meiner Site zu
    installieren, sich bei einem Newsletter einzutragen.
    Dabei habe ich mir folgendes gedacht: Der User trägt seinen Namen und seine e-mail-Adresse ein. Dann erreicht ihn eine Mail mit der Bitte, einem Link zu folgen, der in etwa so aussieht: ".../eintragen.php?id=[irgendwas verschlüsseltes]".
    Sobald dieser Link gedrückt ist, wird die Mailadresse in der Datenbank "freigeschalten".
    Nun meine Fragen:
    a) wie würde ich das mit dem [irgendwas verschlüsseltes] lösen, das in die genannte URL kommt?
    b) bin ich mit dieser Lösung auf dem Richtigen weg, oder soll ich das irgendwie eleganter machen?

    Grüße und Danke im Voraus,

    Julian

    1. Hallo Sascha!

      also das mit eMailadresse eintragen ist ja ok, aber das mit dem Namen würde ich mir an deiner Stelle mal genau überlegen, ob du das letztendlich möchtest, zumal derzeit mal wieder ein neue Abmahnwelle diesmal in Sachen Newsletter durchs Land zieht

      Wie sieht's den eigentlich bei Gästebüchern und Foren aus? Da wird doch auch meist der Name verlangt, ohne Hinweis, daß es auch anonym geht. Ich habe bis jetzt noch kein Statement im Web dazu gefunden, obwohl es eigentlich der nächste logische Schritt wäre.

      Viele Grüße
      Harald