DerWaldgeist: Email Newsletter: One-Click-Unsubscribe aber wie ?

Hallo,

ich möchte gerne für einen Email-Newsletter einen One-Click-Unsubscribe Anhang erstellen. Der User soll einen Newsletter als Email erhalten und innerhalb dieser Email soll am Ende eine Meldung erscheinen "Bestellen Sie den Newsletter HIER ab" (oder so ähnlich). HIER soll dabei ein Link sein der den user zu einer seite weiterleitet die seine Daten (die email-adresse des users) automtisch erhalten soll und ihn aus dem newsletter system löscht.

Die Idee war nun, dass die Email-Adresse des Users ja in dem Newsletter selbst im Header der Email schon vorhanden sein muss ... ich möchte diese Information aus dem Header also auslesen und als variable an den Link im Text der Email anhängen; etwa in diesem Stiel:

<a href="http://domain.de/unsubscribe.php?adresse_aus_header@gmx.de">HIER</a>

Allerdings habe ich nicht die geringste Ahnung wie ich diese Information aus dem Header auslesen kann. Ich hoffe es kann mir da jemand weiterhelfen - danke schonmal

:-) DerWaldgeist

  1. Moin Moin!

    Dein Ansatz ist schonmal gar nicht so verkehrt, allerdings wird Dir kein halbwegs brauchbarer Mail-Client erlauben, Javascript oder sonstige ative Inhalte auszuführen. Du mußt also die E-Mail-Adresse schon beim Versand URL-codiert in die E-Mail schreiben. Eine Template-Engine erledigt sowas locker nebenher aus dem Handgelenk, ansonsten kannst Du es auch selbst machen (pseudocode à la Perl)

      
    foreach $email in @emails {  
        $body=<<'__end_of_message__';  
    Hallo Newsletter-Empfänger,  
      
    bla bla  
      
    Abmelden: <http://www.example.com/unsubscribe.cgi?email=§§§§>  
    __end_of_message__  
        $email_encoded=encode_url($email);  
        $body=~s/§§§§/$email_encoded/;  
        send_newsletter_to($email,$body);  
    }  
    
    

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Hmmh, ok, danke schonmal, ich werde mich da mal fit machen mit Perl - bisher ist das für mich noch etwas chinesisch ...

      ... das Problem ist wohl auch noch zusätzlich, dass der Betreiber der Homepage für die ich das machen möchte, seinen Newsletter unbedingt per MsOutlook versenden möchte...

      danke jedenfalls, jetzt weiß ich zumindest, dass php, javascript und co mir hier - so wies' aussieht - nicht weiterhelfen wird ...

      :-)

      1. PS: Zu Gunther:
        na ja, das Problem ist vor allem wohl, dass sehr viele Emails als Newsletter versandt werden (paar 1000 oder so) so dass es problematisch ist die Emailadresse von Hand in den Link einzufügen - das müsste automatisch gehen wenn die Adresse angeschrieben wird bzw. die Adresse für den Link müsste aus dem "to:soundso@gmx.de" Feld übernommen werden ...

        1. Hi!

          PS: Zu Gunther:
          na ja, das Problem ist vor allem wohl, dass sehr viele Emails als Newsletter versandt werden (paar 1000 oder so) so dass es problematisch ist die Emailadresse von Hand in den Link einzufügen - das müsste automatisch gehen

          Ja natürlich! Auch wenn es nur eine Mail wäre! ;-)
          Da hast du mich wohl falsch verstanden.

          wenn die Adresse angeschrieben wird bzw. die Adresse für den Link müsste aus dem "to:soundso@gmx.de" Feld übernommen werden ...

          Ja, genau hier wollte ich von dir wissen

          • wo die Daten (Adressen) denn überhaupt herkommen (aus einer DB bspw.)?
          • wo und wie wird denn die komplette Mail zusammengebaut?

          Denn, ich gehe mal davon aus, dass die Adresse in einer Variablen gespeichert ist. Der Wert dieser Variablen wird einmal zum Erstellen des Mail-Empfängers verwendet. Warum also nicht auch für den Unsubscribe-Link!?

          Bis jetzt hast du aber auch noch kein bischen verraten, was du wie und womit im Bezug auf die ganze Newsletter-Geschichte anstellst, bzw. anstellen willst.

          Gruß Gunther

          1. Hallo Gunther,

            na ja, ich fürchte es ist noch viel schlimmer - die Adressen kommen teils aus einem MsOutlook-Adressbuch (Liste 1) und teils aus einer Exel Tabelle (Liste 2) sind also so wie ich das sehe leider nicht als Variablen vorhanden -- die Mail wird quasi per Hand zusammengebaut ... deshalb hatte ich gehofft, dass das "to:soundso@gmx.de" Feld sowieso sowas wie eine variable oder eine auslesbare Headerinformation ist. Dann könnte ich in meinen link irgendwas wie "url.php?adresse=header_information" oder so schreiben ...

            Wenn man natürlich die Felder einer Exel-Tabelle als Variablen auslesen (bzw. in Var übersetzen) könnte wäre damit auch geholfen (extra eine mysql-db anzulegen und diese mit mehreren 1000 werten zu füllen erscheint mir allerdings eher unangenehm :-( ...)

            1. Moin!

              na ja, ich fürchte es ist noch viel schlimmer - die Adressen kommen teils aus einem MsOutlook-Adressbuch (Liste 1) und teils aus einer Exel Tabelle (Liste 2) sind also so wie ich das sehe leider nicht als Variablen vorhanden -- die Mail wird quasi per Hand zusammengebaut ...

              Also hilft es dem Empfänger ja sowieso nicht, wenn er einen Link anklicken kann, der eine Seite auf einem Webserver aufruft und damit veranlasst, dass noch eine dritte Liste mit den abbestellten Mailadressen existiert, weil der dadurch entstehende Verwaltungsaufwand, die entsprechenden Mailadressen aus den vorherigen zwei Mailadressen zu entfernen, niemals durchgeführt werden wird.

              deshalb hatte ich gehofft, dass das "to:soundso@gmx.de" Feld sowieso sowas wie eine variable oder eine auslesbare Headerinformation ist. Dann könnte ich in meinen link irgendwas wie "url.php?adresse=header_information" oder so schreiben ...

              Vergiss es einfach, es wird nicht funktionieren. Mach einen Mailto-Link rein, der automatisch an die Mailadresse geht, die die Abbestellungen verwalten wird, und füge ggf. noch ein passendes Subject hinzu. Dann wird das Mailprogramm, welches die Mail versendet, hoffentlich den korrekten Absender einsetzen (der für den Newsletter Empfänger war), und der Newsletterversender wird jede dieser Mails einzel bearbeiten und aus den diversen Listen entfernen.

              Wenn man natürlich die Felder einer Exel-Tabelle als Variablen auslesen (bzw. in Var übersetzen) könnte wäre damit auch geholfen (extra eine mysql-db anzulegen und diese mit mehreren 1000 werten zu füllen erscheint mir allerdings eher unangenehm :-( ...)

              Der Versender des Newsletters wird nicht drumherum kommen, ab einem gewissen Grad an Aufwendigkeit für sein Vorhaben spezialisierte Software einzusetzen, die sich mit den ganzen Begleiterscheinungen des Newsletterversands beschäftigt. Dazu gehört auch die automatisierte Verwaltung von Abmeldungen, und selbstverständlich auch das autorisierte Eintragen von tatsächlichen Anmeldungen.

              - Sven Rautenberg

              --
              "Love your nation - respect the others."
              1. Hi,

                danke für die Antworten; denke das hilft mir schonmal weiter:

                • ich war immer davon ausgeganen man müsste die Exel-Tabelle von Hand übertragen; aber eigentlich stimmt das schon, dass man mit einigen Stunden Arbeit wahrscheinlich ein Skript dafür schreiben könnte ... mal sehen ob ich das hinkriege ...

                • dass man das "to:" Feld aus Outlook nicht so leicht übertragen kann hatte ich fast befürchtet; werde wohl versuchen den Betreiber der Homepage dazu zu bewegen spezielle Software zu verwenden.

                Falls jemand zufäligerweise eine geeignete Software kennt (im Idealfall OpenSource) wäre ich Euch für einen Tipp dankbar :-)

                1. Hi

                  Falls jemand zufäligerweise eine geeignete Software kennt (im Idealfall OpenSource) wäre ich Euch für einen Tipp dankbar :-)

                  Da gibt es schon ein paar...das Top-Model ist afaik OpenEMM

                  Gruß
                  Ole
                  (8-)>

                  --
                  Das Wort Vegetarier kommt aus dem Indianischen und bedeutet: Zu dumm zum Jagen.
                  1. Hi,

                    super, danke, genau an sowas hatte ich gedacht :-)

            2. Hallo!

              na ja, ich fürchte es ist noch viel schlimmer - die Adressen kommen teils aus einem MsOutlook-Adressbuch (Liste 1) und teils aus einer Exel Tabelle (Liste 2) sind also so wie ich das sehe leider nicht als Variablen vorhanden

              Also was Outlook anbelangt muss ich völlig passen. Aber ich vermute doch mal sehr stark, dass sich diese Liste "leicht" in die Excel-Tabelle einfügen, oder zumindest als CSV exportieren lässt!?

              -- die Mail wird quasi per Hand zusammengebaut ...

              Verstehe ich das jetzt richtig: Der gesamte Text der Mail wird "manuell/ händisch" erstellt und Outlook übernimmt dann den Versand an die über 1000 Empfänger?

              deshalb hatte ich gehofft, dass das "to:soundso@gmx.de" Feld sowieso sowas wie eine variable oder eine auslesbare Headerinformation ist. Dann könnte ich in meinen link irgendwas wie "url.php?adresse=header_information" oder so schreiben ...

              Hmmm ..., vielleicht suchst du mal in einem speziellen MS-Forum zu dem Thema!?

              Wenn man natürlich die Felder einer Exel-Tabelle als Variablen auslesen (bzw. in Var übersetzen) könnte wäre damit auch geholfen (extra eine mysql-db anzulegen und diese mit mehreren 1000 werten zu füllen erscheint mir allerdings eher unangenehm :-( ...)

              Wieso das denn!? ;-)
              Exportiere die Daten aus der Excel-Tabelle in eine Datei. Dann schreibst du dir ein kleines Script, welches genau diese Arbeit für dich erledigt - fertig!

              Und wenn die Mails dann auf dem Server zusammengebaut und verschickt werden, hat sich dein jetziges Problem von alleine erledigt.

              Gruß Gunther

  2. Hallo,

    die Frage scheint mir doch zu sein:

    • Woher kommt denn die jeweilige Email Adresse?
    • Und wie wird die Mail 'zusammengebaut'?

    Die Adresse muss ja bekannt sein, ansonsten könnte die Mail ja nicht verschickt werden. Was sollte dich also daran hindern, die Adresse auch als Variable an deinen Link mit dranzuhängen?

    Oder habe ich dein Problem falsch verstanden?

    Gruß Gunther