Newsletter Script
Das Script besitzt eine "Double Opt-in" Option für An- bzw. Abmeldung. Der Newsletter wird somit nur an bestätigte Email-Adressen zugestellt.
D.h., um die Newsletter-Anmeldung vollständig abzuschließen, muss der Besucher seine Email-Adresse verifizieren und den Empfang durch das Anklicken von einem per Email zugestellten Link binnen 48 Stunden bestätigen. Hat er dies nicht gemacht, wird der Eintrag automatisch gelöscht.
So wird vermieden, dass der Newsletter an Empfänger, ohne dass diese dem Empfang zugestimmt haben, versendet wird. Ebenfalls wird so vermieden, dass Email-Adressen durch Fremde aus dem Verteiler gelöscht werden könnten.
So sieht das Formular für die Newsletter-Anmeldung aus. Dieses können Sie z.B. in der Sidebar platzieren.
Und das ist der Code für das Formular. Dieses benötigen Sie nur, wenn Sie das Anmeldeformular separat in das Layout integrieren wollen - das Newsletter-Script selbst enthält bereits ein Formular für die Anmeldung.
Neben der Möglichkeit, sich für den Newsletter an- und abzumelden, bringt das Script mit sich auch selbstverständliche eine Passwort-geschützte Administrationsoberfläche, über die Sie Newsletter versenden und Empfänger editieren können.
Der Newsletter kann personalisiert versendet werden.
So installieren Sie das Script auf Ihrem Server:
- das unten stehende Script unter newsletter.php speichern.
- die Konfiguration am Anfang vom Script anpassen.
- eine newsletter.txt mit einem Pseudoeintrag erstellen
(als Inhalt kommt diese Zeile rein:
email@adresse.de|name|vorname||||
einen Zeilenumbruch nach dieser Zeile setzen) - die Dateien newsletter.php und newsletter.txt auf den Webserver hochladen.
- die Datei newsletter.txt mit Schreibrechten versehen (chmod 777).
- entweder die Datei newsletter.php direkt aus dem Menü verlinken oder das oben stehende Formular in die Sidebar oder Header einbauen.
Um zu der Administration zu gelangen, hängen Sie an die Url in der Browser-Adressleiste einfach "?action=loginform" an.
- <?php
- # # # # # # # # # # KONFIGURATION # # # # # # # # # # # # # # # #
- $adminname="xxxx"; // Benutzername für den Login
- $adminpw="xxxx"; // Passwort für den Login
- $adminmail="webmaster@deine-domain.de"; // deine Email Adresse für den Emai-Versand - idealerweise webmaster@deine-domain.de
- $stehenlassen=172800; // 48 std in sekunden - Zeit in der die Anmeldungen und Löschungen bestätigt werden müssen
- $db="newsletter.txt"; // CHMOD 777 hier werden die Benuzterdaten gespeichert..
- $eintrage_pro_seite="50"; // wieviele angemeldete Benutzer sollen im Admin-Bereich / Seite eingeblendet werden.. Blätterfunktion...
- # # # # # # # # # KONFIGURATION ENDE # # # # # # # # # # # # # # #
- $nichtmehrgueltig=$zeit-$stehenlassen;
- $action=$_GET['action'];
- if($action=="logout"){ // Admin logout
- } elseif($action=="login"){ // Admin login
- $name = $_POST['name'];
- $pw = $_POST['pw'];
- if($name==$adminname && $pw==$adminpw){
- $_SESSION["logedin"] = true;
- } else {
- }
- }
- #include("../../../inc/header.php"); // hier evtl den header einbinden
- // nicht rechtzeitig bestätigte Anmeldungen löschen und nicht rechtzeitig bestätigte Löschungen auf "normal" setzen
- if ($output){
- foreach($alter_inhalt as $zeile){
- if($inhalt[5]=="" || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="rein") || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="raus")){
- } elseif ($inhalt[5]<$nichtmehrgueltig && $inhalt[3]=="raus"){
- $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|".$inhalt[3]."||||".$nl;
- }
- }
- } else {
- echo "<p>Datei konnte nicht zum Schreiben geöffnet werden, bitte ändern sie die Zugriffsrechte!</p>";
- }
- if($action=="rein"){ // Anmeldung
- $email=$_GET['email'];
- $vname=$_GET['vname'];
- $name=$_GET['name'];
- echo "<p>Du musst deinen Namen, deinen Vornamen und eine Email-Adresse angeben!</p>";
- echo '<form action="#" method="get">
- <table width="100%" cellpadding="3" cellspacing="1">
- <tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="'.$name.'" style="width:100%;" /></td></tr>
- <tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="'.$vname.'" style="width:100%" /></td></tr>
- <tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="'.$email.'" style="width:100%" /></td></tr>
- <tr><td> </td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
- <tr><td> </td><td align="left"><input type="submit" name="submit" value="absenden" style="width:100%" /></td></tr>
- </table>
- </form>';
- } else {
- foreach($inhalt as $zeile){
- if($inhalt[0]==$email) $err=true;
- }
- echo "<p>Die Email Adresse $email befindet sich bereit im Verteiler</p>";
- } else {
- if ($output){
- mail($email,"Newsletter Anmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndeine Email Adresse $email wurde von dir oder jemandem Fremden in unserem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." eingetragen. \n\nWenn du die Aufnahme wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=reinconfirm&code=$code .\n\nSolltest Du dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email, der Eintrag wird ohne das dieser bestätigt wurde nach 48 Stunden automatisch gelöscht. \n\nmfg Admin von ".$_SERVER['HTTP_HOST'],"From: $adminmail");
- echo "<p>Vielen Dank, $vname $name für deine Anmeldung.<br />Deine Email $email wurde im Verteiler zur Aufnahme vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst nach dem du diesen angeklickt hast, wird deine Email Adresse vollständig in den Verteiler augenommen.</p><p>Diesen Link solltest Du binnen von nächten 48 Stunden angeklickt haben, sonst wird deine Newsletter-Anmeldung automatisch gelöscht.</p>";
- }
- }
- }
- } elseif($action=="raus") { // Abmeldung
- $email=$_GET['email'];
- foreach($inhalt as $zeile){
- if($inhalt[0]==$email) $err=true;
- }
- echo "<p>Die Email Adresse $email befindet sich nicht im Verteiler</p>";
- } else {
- if($output){
- foreach($alter_inhalt as $zeile){
- if($inhalt[0]==$email){
- $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|raus|".$code."|".$zeit."|".$nl;
- mail($inhalt[0],"Newsletter Abmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndu oder jemand Fremde hat deine Email Adresse ".$inhalt[0]." zum löschen aus unserem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." vorgemerkt. \n\nWenn du die Abmeldung wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=rausconfirm&code=$code .\n\nSolltest Du dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email. \n\nmfg Admin von ".$_SERVER['HTTP_HOST']."","From: $adminmail");
- echo "<p>Halo $inhalt[1] $inhalt[2].<br />Deine Email $email wurde zum löschen aus dem Verteiler vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst wenn du diesen angeklickt hast, wird deine Email Adresse vollständig aus dem Verteiler gelöscht.</p>";
- }
- }
- }
- }
- }
- } elseif($action=="reinconfirm"){ // Anmeldung Bestätigung
- $code=$_GET['code'];
- if($output){
- foreach($alter_inhalt as $zeile){
- if($inhalt[3]=="rein" && $inhalt[4]==$code){
- $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."||||".$nl;
- echo "<p>Deine Newsletter Anmeldung wurde bestätigt. Du wirst nun unsere Newsletter empfangen!</p>";
- }
- }
- }
- }
- } elseif($action=="rausconfirm"){ // Abmeldung Bestätigung
- $code=$_GET['code'];
- if($output){
- foreach($alter_inhalt as $zeile){
- if($inhalt[3]=="raus" && $inhalt[4]==$code){
- echo "<p>Deine Newsletter Abmeldung wurde bestätigt. Du wirst nun keine Newsletter mehr empfangen!</p>";
- } else {
- }
- }
- }
- }
- } elseif($action=="admin"){ // Admin eingeloggt
- if($_SESSION["logedin"] == true) {
- $seiten=$eintraege/$eintrage_pro_seite; //Anzahl der Seiten errechnen
- $abeintrag = $seite * $eintrage_pro_seite - $eintrage_pro_seite;
- echo '<p>Sie sind eingeloggt!</p><p><a href="'.$_SERVER['SCRIPT_NAME'].'?action=schreiben">Neuen Newsletter versenden</a> | <a href="'.$_SERVER['SCRIPT_NAME'].'?action=logout">ausloggen</a></p>';
- echo '<p>Folgende Newsletter Empfänger sind angemeldet:</p><p class=\"date\">Seite: ';
- for($ass = 1; $ass-1< $seiten; $ass++){ //Ausgabe der Linkliste
- ($ass==$seite)? $ss="<b>$ass</b>": $ss=$ass;
- }
- echo '</p><table width="100%" cellpadding="3" cellspacing="1" style="background-color:#F0F0F0">';
- for($i=$abeintrag; $i<$eintrage_pro_seite+$abeintrag; $i++){
- $farbe = ($i % 2) ? "FFFFFF" : "F9F9F9";
- echo '<tr style="background-color:#'.$farbe.'"><td>'.$inhalt[1].'</td><td>'.$inhalt[2].'</td><td>'.$inhalt[0].'</td><td><a href="'.$_SERVER['SCRIPT_NAME'].'?action=delete&email='.$inhalt[0].'">löschen</a></td></tr>';
- }
- }
- }
- } elseif($action=="schreiben"){ // Email verfassen
- if($_SESSION["logedin"] == true) {
- echo '<p>Schrebe Xname und Xvname da wo die Namen und Vornamen der Benutzer eingesetzt werden sollen.</p>
- <form action="?action=senden" method="post">
- <table width="100%" cellpadding="3" cellspacing="1">
- <tr><td width="140" align="right">Betreff:</td><td align="left"><input type="text" name="betreff" value="" style="width:100%;" /></td></tr>
- <tr><td align="right" valign="top">Text:</td><td align="left"><textarea rows="20" style="width:100%" name="mailtext"></textarea></td></tr>
- <tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="Newsletter versenden" style="width:100%" /></td></tr>
- </table>
- </form>';
- }
- } elseif($action=="senden"){ // Email versenden
- if($_SESSION["logedin"] == true) {
- echo "<p>Der Newsletter wurde an folgende Emai Adressen versendet:<br />";
- foreach($alter_inhalt as $zeile){
- if($inhalt[3]!='rein' && $inhalt[3]!='raus'){
- }
- }
- echo "</p>";
- }
- } elseif($action=="delete"){ // Empfänger löschen
- if($_SESSION["logedin"] == true) {
- $email=$_GET['email'];
- if($output){
- foreach($alter_inhalt as $zeile){
- if($inhalt[0]!=$email){
- } else {
- echo "<p>Der Empfänger $email wurde gelöscht.</p>";
- }
- }
- }
- }
- } elseif($action=="loginform"){ // login Formular
- echo '<form action="?action=login" method="post">
- <table width="100%" cellpadding="3" cellspacing="1">
- <tr><td width="140" align="right">Admin:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
- <tr><td align="right">Passwort:</td><td align="left"><input type="password" name="pw" value="" style="width:100%" /></td></tr>
- <tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="einloggen" style="width:100%" /></td></tr>
- </table>
- </form>';
- echo '<form action="#" method="get">
- <table width="100%" cellpadding="3" cellspacing="1">
- <tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
- <tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="" style="width:100%" /></td></tr>
- <tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
- <tr><td> </td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
- <tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="absenden" style="width:100%" /></td></tr>
- </table>
- </form>';
- } ?>
- <p style="text-align:right;font:normal 10px Verdana, Arial, Helvetica, sans-serif;"><a href="http://www.easy-bytes.de/" target="_blank">Script von Easy Bytes</a></p>
- <?php
- #include("../../../inc/footer.php"); // hier evtl den footer einbinden
- ?>
Website-Übersetzungen
Verkauf von Projekten