Mailingliste in PHP und MySQL. PHP Verzögertes Mailing-Skript PHP-Mailingliste

Laden Sie das Skript für die Organisation des E-Mail-Marketings des automatischen Massenversands von Briefen an die E-Mail Lasto Post Woodpecker v5.01 herunter

Charakteristisch:

Das Skript benötigt keine MySQL-Datenbank und keinen cron-geplanten Anwendungsstartdienst und funktioniert daher auch auf kostenlosen Servern. Die Anzahl der Buchstaben in der Reihe kann beliebig eingeschränkt werden. Die Anzahl der unabhängig voneinander laufenden Dienste ist unbegrenzt. Die Möglichkeit, beliebig viele verschiedene Serien von E-Mail-Newslettern zu erstellen, und Sie müssen nicht einmal für jede davon ein eigenes Verzeichnis erstellen.
Direkt über die Webschnittstelle können Sie innerhalb von Sekunden einen neuen Brief zu einer bestimmten Mailingliste hinzufügen, aber der Brief muss im Voraus vorbereitet werden, und diese Nachricht beginnt sofort ihre Reise an alle Abonnenten dieses Dienstes, die sie zuvor erhalten haben ein kompletter Satz von Briefen aus dieser Serie.

Das Anhängen von Grafiken ist möglich.
- Einfache Verwaltung: Das Admin-Panel schreibt auf die detaillierteste Weise, was es tut und mit welcher Datei.
- "Vernünftiges" Verhalten des Dienstes: Das Skript erstellt selbst alle erforderlichen Dateien auf dem Server und verwaltet sie auch, ändert und löscht sie bei Bedarf. Verwaltet Statistiken und ein Protokoll der durchgeführten Aktionen.
- Ausgefeiltes Admin-Panel: Sie können mit nur wenigen Klicks einen neuen automatischen Mailing-Service erstellen.
- Individuelles Hosting: Abhängig von den Vorgaben des Hosters ist es möglich, die Intensität des E-Mail-Verkehrs zu steuern (viele Briefe auf einmal oder in kleinen Portionen, aber über den Tag verteilt). Einige Hosting-Unternehmen erlauben nicht mehr als eine E-Mail pro Minute (Spam-Schutz), aber auch in diesem Fall erfüllt unser Skript seinen Zweck.
- PHP-Kenntnisse des Webmasters der Ressource sind nicht erforderlich. PHP zu kennen ist zwar nützlich ...

In der zweiten Version enthaltene Verbesserungen:

Kron auf einfachste Weise verbinden.
- Senden einer Nachricht an alle Abonnenten eines bestimmten Dienstes oder mehrerer Dienste gleichzeitig.
- Komfortableres Admin-Panel (mehrseitige Ausgabe aller Berichte).
- Import und Export von E-Mail-Listen. Möglichkeit, E-Mail-Datenbanken mit Benutzernamen (z. B. von einem Smartresponder) zu importieren.

In der dritten Version enthaltene Verbesserungen:

Implementierung einer unbegrenzten Anzahl von Anhängen in jedem Format.
- Verbesserter Importmechanismus für E-Mail-Listen.
- Eingebauter Datenbankwiederherstellungsdienst.
- Benutzerdefinierter Dienst für automatische Datenbanksicherung (Backup) hinzugefügt.
- Eingebautes Modul zum Abrufen von Statistiken über die Dynamik des Abonnements.
- Jetzt können Sie eine bestimmte E-Mail-Adresse von allen oder einigen Diensten ausschließen. Es ist notwendig, wenn Benutzer mit unangemessenem Verhalten die Mailingliste abonnieren.

In der vierten Version enthaltene Verbesserungen:

Der Benutzer muss sein Abonnement bestätigen - klicken Sie auf einen speziellen Link, der an seine E-Mail gesendet wurde. Wenn einer solchen Bestätigung nicht gefolgt wird, erinnert Sie das Skript anschließend noch einige Male an die Notwendigkeit, das Abonnement zu bestätigen.
- Der Webmaster kann bestimmte E-Mail-Domains für das Abonnement sperren. Der Mailserver von Rambler beispielsweise betrachtet Briefe vieler Automailer als Spam.
- Algorithmus für die Arbeit mit Serienbriefen geändert.
- Das vorübergehende Deaktivieren des Skripts erzeugt nach dem Einschalten keine Brieflawine, die bis zu diesem Datum hätte verschickt werden sollen - die Briefe werden gemächlich und edel im vorgeschriebenen Intervall abreisen.
- Der Abstand zwischen jeweils zwei benachbarten Buchstaben der gleichen Serie kann beliebig eingestellt werden.
- Benutzer arbeiten nur mit der temporären Datenbank und haben keinen Zugriff auf die Hauptdatenbank.
- Die Synchronisierung von Datenbanken wird von einem Skript durchgeführt, und niemand sonst.
- Der Newsletter-Service wurde komplett neu gestaltet - er ist nun eine eigenständige Aufgabe.
- Statistiken zu Newslettern erstellt - der Webmaster sieht jetzt, in welchem ​​Stadium sich der Newsletter befindet, die Gesamtzahl der Briefe, wie viele gesendet wurden, wie viele übrig sind.
- Einführung der Möglichkeit des Mailings nach Zeitplan (Versand eines Newsletters bei Erreichen eines bestimmten Datums).
- Der Absender ist mit einem Webmaster-Benachrichtigungssystem über die bei der Arbeit aufgetretenen Schwierigkeiten ausgestattet. Tritt auf dem Server ein Ausfall auf, wird der Webmaster durch die E-Mail sofort darüber informiert.
- Sie können sich jetzt von der Mailingliste abmelden und das Abonnement über die E-Mail-Schnittstelle bestätigen.
- Wenn Sie ein Backup über Cron aktivieren, erhalten Sie tägliche Statistiken zum Status der Dienste. Das Skript erstellt einen Bericht und sendet ihn direkt an Ihre E-Mail.
- Der Bereich Abonnementdynamik wurde um grafische Berichte ergänzt.

Verbesserungen in der fünften (sich weiterentwickelnden) Version:

Ein Schutz vor automatischen Programmen, die von Hackern verwendet werden, um einen Login und ein Passwort auszuwählen, wurde eingeführt.
- Ein zusätzlicher Schritt zum Generieren und Senden eines zufälligen Einmalcodes an die E-Mail des Administrators, ohne zu wissen, welcher Zugriff auf das Admin-Panel unmöglich ist, wurde dem Autorisierungsprozess hinzugefügt.
- Beim Navigieren zwischen Seiten innerhalb des Admin-Panels werden keine Login- oder Passwort-Hashes mehr verwendet.
- Das Ausweiden des Browser-Cache (oder das Abfangen von Datenverkehr) gefährdet Sie nicht in Bezug auf die Sicherheit.
- Datenbankstruktur ist nicht mehr standardmäßig vorgegeben. Sie selbst ändern die Verschlüsselungsmethode mit einem speziellen Schlüssel, der direkt in den Skriptcode getrieben wird. In der Weboberfläche ist der Schlüssel nicht sichtbar und kann nicht eingesehen oder geändert werden.



Sie können die auf unserer Website gehostete Software kostenlos herunterladen, wir sind nicht verantwortlich und garantieren nicht, dass sie Ihren Anforderungen entspricht und funktioniert, in den meisten Fällen sind Anpassungen und Korrekturen erforderlich. Die Behebung von Fehlern in seiner Arbeit, die Installation auf einem Hosting, die Einrichtung ist nicht in unseren Aufgaben enthalten und wird gegen eine gesonderte Vergütung für die Dienstleistungen unseres Programmierers durchgeführt.

Es gibt viele kostenlose Dienste im Internet. Einschließlich Dienstleistungen für den Versand von Briefen an Abonnenten. Einige von ihnen sind sehr gut. Aber da sie kostenlos sind, bedeutet dies, dass Werbung direkt dort in den Briefen erscheint. Ja, und viele Abonnementformulare mit dem Logo eines Servicemitarbeiters passen vielen nicht.

Warum also nicht eine einfache Engine für Ihr Mailing schreiben und selbst Briefe versenden?

Mal sehen, was wir dafür brauchen. Damit Besucher Ihren Newsletter abonnieren können, benötigen Sie ein Formular zur Eingabe einer E-Mail-Adresse. Nach der Eingabe muss die Adresse gemerkt werden. Lassen Sie uns die Adressen in einer Datei speichern mailliste.txt eine Adresse pro Zeile. Lassen Sie uns nach dem Speichern der Adresse die entsprechende Nachricht anzeigen und ein Formular zum Abonnieren einer anderen Adresse oder zum Löschen einer vorhandenen Adresse anzeigen. Das ist eigentlich fast alles. Es bleibt nur die Möglichkeit hinzuzufügen, Briefe zu senden. Lassen Sie uns aus Sicherheitsgründen ein Passwort für die Möglichkeit zum Versenden von Briefen festlegen - ein Formular zur Eingabe eines Passworts ist erforderlich. Als nächstes benötigen Sie Formulare, um die Adresse und den Betreff des Absenders sowie den Text selbst einzugeben. Und schließlich das Skript selbst, das Briefe versenden wird. Und jetzt ist alles in Ordnung.

Das Formular zur Eingabe einer E-Mail-Adresse besteht nur noch aus einem Fenster zur Eingabe einer Adresse und einem Button zur Bestätigung:



!}

Im Texteingabefenster wird also mit dem Namen email und einer sichtbaren Länge von 30 Zeichen eine E-Mail-Adresse eingetragen. Nachdem Sie auf die Schaltfläche mit der Bezeichnung Abonnieren geklickt haben, wird die Adresse an das Skript übergeben ras.php in die Mailingliste aufgenommen werden.

Als nächstes schauen wir uns das Skript an ras.php die die E-Mail-Adresse in einer Datei speichert, eine Nachricht über das Ergebnis anzeigt und Formulare zum An- und Abmelden enthält. Das Skript kann ganz einfach ausgeführt werden - Adresse speichern, entsprechende Meldung anzeigen. Es können jedoch Probleme auftreten: Jemand kann sich versehentlich mehrmals anmelden, jemand kann sich vertippen und ein ungültiges Zeichen in das Adressfeld eingeben oder absichtlich Müll eingeben. In diesem Fall wird die Mailingliste verseucht und falsche Adressen führen zu Fehlern im Skript. Die Schlussfolgerung ist eindeutig – vor dem Speichern der Adresse sollten Sie diese auf die Einhaltung der Standards zur Benennung von Adressen elektronischer Postfächer sowie auf das Vorhandensein in der Mailingliste prüfen. Um den Code nicht in Teilen zu betrachten, werde ich Kommentare im Code selbst geben:

$file=" mailliste.txt"; // Datei mit Adressen

error_reporting(0); // Ausgabe von Meldungen über mögliche Fehler deaktivieren

Funktion test_mail($char ) // Funktion, die die Realität der Adresse überprüft
{
$flag = FALSCH;
if(eregi("^[_\.0-9a-z-] [E-Mail geschützt]([-0-9a-z\.]+)\.((2,3)$)", $char )) $flag = WAHR;
if ($flag) zurück WAHR;
sonst zurück FALSCH;
}

$email = trim(strtolower($email )); // eintreten
// Adressformular mit
// Kleinbuchstaben

Funktion copy_mail($char ) // prüfen, ob es eine solche Adresse in der Datenbank gibt
{
$file=" mailliste.txt";
$liste = datei($datei);
für ($i = 0; $i< sizeof ($list ); $i++ )
if ($char == trim($liste [$i ])) $flag = WAHR;

Wenn ($flag ) zurückkehrt WAHR;
sonst zurück FALSCH;
}

Echo"

";

Wenn (is_file($file )) // Überprüfen Sie die Adresse weiter mit den obigen Funktionen
{
$maillist = file($file);
if (!$email == "") (
if (test_mail($email)) (
if (!copy_mail($email))
{
$maillist = "\n$email";
print "E-Mail: $email zur Mailingliste hinzugefügt

";
}
sonst print "E-Mail: $email ist bereits in der Datenbank";
}
sonst drucke "E-Mail: $email existiert nicht";
}
sonst drucken"";
}
sonst drucke "$Datei nicht gefunden! Bitte informieren mich über den Fehler.";
// ein Formular mit einem Angebot zum Abonnieren und Abbestellen anzeigen
Echo "
Newsletter abonnieren
";
echo "Mail eingeben:
";

Echo"



";
echo "Von der Mailingliste abmelden
E-Mail eingeben:";
Echo "
";
// Wenn sich der Benutzer entscheidet, das Abonnement abzubestellen, lösche das eingegebene Adresse
$flag = FALSCH;
$fw = fopen($file , " w");
für ($i = 0; $i< sizeof ($maillist ); $i++ )
if (trim(strtolower($delmail )) == trim(strtolower($maillist [$i ]))) (
if (!$delmail == "")
{
drucken"
$delmail von der Mailingliste entfernt
";
$flag = WAHR;
}
}
sonst fputs($fw , $maillist [$i ]); // Die eingegebene Adresse ist nicht in der Datenbank
fclose($fw);
if (!$delmail == "")
if (!$flag ) print "
$delmail nicht in der Mailingliste gefunden
";
?>

Hier ist unser Code zum Speichern und Löschen von Adressen fertig. Jetzt müssen wir uns um die Mittel zum Versenden von E-Mails kümmern. Wir werden nicht über Outlook senden?. Wie bereits erwähnt, schützen wir die Versandmöglichkeit mit einem Passwort, das wir in ein spezielles Formular eintragen:




Das Eingabefeld heißt pass und dient zur Eingabe des Passworts. Nachdem Sie auf die Schaltfläche Enter geklickt haben, wird das Passwort an das Skript übergeben aus.php:

$subject = "Mailingliste meiner Website"; // Mailing-Betreff
$fromemail = "meine@soap"; // Ihre Adresse (für Antworten)
$file=" mailliste.txt"; // Liste der Abonnentenadressen
$password = "geheimes Passwort"; // Ihr Passwort für den Versand

if ($pass == $passwort) // ob das Passwort korrekt ist
// dann das Formular mit Eingabefeldern anzeigen:
// Absenderadresse, Nachrichtentext, Nachrichtentext
// Senden-Schaltfläche
// Nach dem Drücken der Schaltfläche übergeben wir die Daten an das Skript
send.php
{
Echo "
";
Echo "Absenderadresse

";
Echo "E-Mail-Betreff
";
Echo "
Text des Schreibens:
";
Echo "
";
drucken" In der Basis ".sizeof($maillist) ." Adressen

";
für ($i = 0; $i< sizeof ($maillist ); $i ++) print $maillist [$i ]. "
";
}
// wenn das Passwort falsch ist - bitte erneut eingeben
Sonst Echo"
";

Es bleibt nur ein Skript zu berücksichtigen - dasjenige, das E-Mails sendet:

$odr = "\n\n\n Verwenden Sie den Link zum Abbestellen\n";
$homepage = "http://site.url/ras.php";

error_reporting(0);
$betreff = $HTTP_POST_VARS["betreff"];
$body = $HTTP_POST_VARS["body"];
$subject = stripeslashes($subject);
$body = stripeslashes($body );

$file=" mailliste.txt";
$maillist = file($file);

Drucken Sie "In der Basis". sizeof($maillist ) ." Adressen
";
für ($i = 0; $i< sizeof ($maillist ); $i ++)
{
#echo($mailliste[$i]."
");
mail($mailliste [$i ], $subject ,
$body ."$odr $homepag ?delmail=$mailliste [$i ]",
"Von: $fromemail");
}
echo "Fertig!";

Hier ist alles einfach: Wir erhalten die im vorherigen Formular eingegebenen Werte und senden sie in einer Schleife der Reihe nach an jede der Adressen.

Das ist ganz einfach! Jetzt haben Sie ein leistungsstarkes Tool zum Betreiben Ihrer eigenen Mailingliste. Es gibt keine Regeln mehr für Sie. Was immer Sie wollen, schreiben Sie in Ihre Mailingliste. Völlige Freiheit in der Gestaltung und Darstellung von Anmeldeformularen.

Natürlich ist dieser Code nur ein minimaler Satz. Mit der Mailfunktion können Sie beispielsweise eine Benachrichtigung über einen neuen Abonnenten organisieren, den Abonnenten über eine erfolgreiche Registrierung informieren und mehr über die Mailingliste erzählen.

Apropos völlige Freiheit, meinte ich natürlich keineswegs Zwangsabonnement? Oder, einfacher gesagt, Spam. Wenn plötzlich jemand entscheidet, Spam auf diese Weise zu versenden, dann lassen Sie ihn berücksichtigen, dass sich die Hosting-Administration sofort darüber beschweren wird. Und es spielt keine Rolle, ob das Hosting bezahlt wird oder nicht, wenn die Hosting-Verwaltung solche Aktionen bemerkt, wird sie die Bereitstellung ihrer Dienste für Sie ohne Entschädigung für Verluste kündigen. Und mit kostenlosem Hosting ist es noch enger. Erstens müssen Sie die persönliche Erlaubnis der Verwaltung einholen, um diese Funktion zu öffnen, und zweitens gibt es in der Regel ein Limit von 1 Brief pro Minute. Also meine Herren Spammer, bricht ab :)

Lassen Sie uns mit so einer fröhlichen Note enden.




Wenn Sie weitere Fragen haben oder etwas nicht klar ist - willkommen in unserem

Grüße liebe Freunde!
Im letzten Artikel habe ich mich ein wenig mit dem brandaktuellen Thema eigener Mailing-Service bzw. Mailing-Script beschäftigt. Das Thema ist wirklich heiß, denn. Smartresponder ist nicht mehr aktiv und die meisten Internetnutzer suchen nach einem Ersatz. Leider gibt es keinen gleichwertigen Smartresponder und wird es wahrscheinlich auch nicht geben! Newsletter oder, wie es heutzutage in Mode ist, E-Mail-Marketing, ist das effektivste Instrument, um Geschäfte zu machen. Einfacher gesagt, Sie können keine Marke bewerben, ohne Menschen zu sammeln, die sich für Ihr Thema interessieren, ohne E-Mail zu versenden. Um ein Publikum von interessierten Personen zu sammeln und sie zu einem Thema zu führen, benötigen Sie einen Mailinglistendienst, einen Dienst für Massenbriefe. Im letzten Artikel, oder besser gesagt im Video, habe ich einen kleinen Überblick über die Seiten gezeigt und gemacht, die ihre Mailing-Dienste anbieten. Es gibt viele Angebote und HIER beginnt das Rätsel, besonders für Anfänger. Die Preisschilder sind hoch, und wo der Preis mehr oder weniger erschwinglich ist, gibt es viele Unannehmlichkeiten. Manchmal verbergen Dienstleistungen die tatsächlichen Kosten, d.h. deklarieren niedrige Tarife und versuchen damit, eine größere Anzahl von Benutzern zu gewinnen, mit dem weiteren Ziel, Geld zu fördern. Und so die erste Aktion: Sie wurden von Billigangeboten oder einem anderen vorteilhaften Angebot verführt.

Sie eröffnen ein Konto, übertragen die Datenbank, wiederholen alle Erfassungsseiten, reparieren Links in Artikeln auf Ihren Websites, bearbeiten, wenn möglich, alle Beiträge, Produkte, bei denen es Abonnementformulare (Links) gab. Kurz gesagt, Sie machen einen verdammt guten Job. Sie haben sich auf die Arbeit mit einer neuen Mail-Plattform eingelassen und hier beginnt der Spaß. Aktion zwei: Der Mailing-Dienst, der eine Werbekampagne durchführt, verlässt sich auf die Ignoranz und Unaufmerksamkeit der Internetnutzer. Sie senden einen Brief an die Datenbank, bereiten einen zweiten vor ... Es stellt sich heraus, dass Sie keine zweite Nachricht mehr versenden können, da Ihr Tarifplan seine Möglichkeiten bereits erschöpft hat. Es stellt sich heraus, dass in der Beschreibung des Tarifplans die Anzahl der möglichen Versandbriefe sehr gering war. Unter der Billigkeit verstecken sich gerade die Sendebeschränkungen bzw. das Brieflimit. Um einen weiteren Brief zu versenden, müssen Sie die Anzahl der Sendungen kaufen, und dies sind unvorhergesehene Kosten. Infolgedessen wurdest du wieder verarscht. Persönlich konnte ich keinen anständigen Mailinglistendienst finden: entweder ein Preisschild oder eine Funktionalität mit einer Reihe von Tools oder Englisch oder eine manuelle Moderation jedes Briefes oder .... Aber das Gefährlichste ist die Möglichkeit, einfach die Basis zu verlieren, die Sie lange und hart aufgebaut haben.
Lange habe ich über das Thema „Eigener Mailing-Service“ nachgedacht. Während es Smart gab, wurde das Thema nicht sehr warm. Ich fing an, nach Skripten zu suchen. Ich habe mit BOX-MAIL angefangen, dann Vyshuhol oder Postal Woodpecker, habe ein paar Plugins ausprobiert. ABER nachdem ich gearbeitet hatte, wurde mir klar, dass die Erstellung eines eigenen Mailing-Dienstes auf einem regulären Hosting nicht realistisch ist. Sie wissen, dass die Arbeit von SPAMern aktiver geworden ist und im Internet viele Dinge erschienen sind, die diese illegale Aktivität verhindern. Darunter leiden zunächst gewissenhafte Menschen, die aus rechtlichen Gründen versuchen, eine Mailingliste auf legal erhobener Basis zu führen. Provider haben Kontingente für den Mailverkehr eingeführt. 100-500 E-Mails pro Tag können keinen Massenversand von E-Mails bereitstellen. Das Versenden Ihrer "Breaking News" kann ziemlich lange dauern, dh. Ihre Nachrichten für das Listenende Ihrer Abo-Liste sind dann nicht mehr relevant! Fazit (meine Meinung) - Massenversand von regulärem Hosting ist nicht relevant. Hier erinnerte ich mich an das MailWizz-Skript, das vor einigen Jahren zu mir kam und es sogar testete. Aber dann war da Smart! Die Kosten für dedizierte Server waren dann ziemlich hoch - die Arbeit wurde zuerst eingestellt, und dann habe ich einfach die Existenz des Skripts vergessen. Ich erinnerte mich erst, als mir das Leben in die Kehle stieg. Ich musste Zeit damit verbringen, Informationen zu sammeln. Unsere Aufgabe ist es, etwas Nützliches geheim zu halten. Abgesehen von der Überprüfung des Panels war nichts zu finden. Das Drehbuch selbst ist in Englisch - ein Russifikator wurde benötigt. Es gibt Erfahrung, Wissen ist genug - das Problem wurde gelöst. Und jetzt ist der Dienst des eigenen Mailings eingerichtet und funktioniert bereits. Wie es funktioniert, ist es besser, sich das Video anzusehen:


Und damit die Vorteile Ihres eigenen Versanddienstes:

- Selbständigkeit und die daraus resultierende Chance Herr der Situation zu sein. Ich will senden, ich will nicht senden.
- unbegrenzte Anzahl von Buchstaben
- tolles Werkzeugset


— einfache Bedienung und praktische Navigationsleiste


- einfache Installation und einfache Konfiguration
- Sparen. Einmal bezahlen und ein Leben lang nutzen.

Jeder trifft seine eigene Wahl. Die Hauptsache - vergiss nicht, dass die Basis ALLES ist! Dass unsere Einnahmen von der Abonnementliste abhängen - Je mehr Abonnenten, desto mehr verdienen wir. Das Thema oder die Nische unserer Tätigkeit berührt das Primat der Basis nicht.

Es gibt viele kostenlose Dienste im Internet. Einschließlich Dienstleistungen für den Versand von Briefen an Abonnenten. Einige von ihnen sind sehr gut. Aber da sie kostenlos sind, bedeutet dies, dass Werbung direkt dort in den Briefen erscheint. Ja, und viele Abonnementformulare mit dem Logo eines Servicemitarbeiters passen vielen nicht.

Warum also nicht eine einfache Engine für Ihr Mailing schreiben und selbst Briefe versenden?

Mal sehen, was wir dafür brauchen. Damit Besucher Ihren Newsletter abonnieren können, benötigen Sie ein Formular zur Eingabe einer E-Mail-Adresse. Nach der Eingabe muss die Adresse gemerkt werden. Lassen Sie uns die Adressen in der Datei maillist.txt speichern, eine Adresse pro Zeile. Lassen Sie uns nach dem Speichern der Adresse die entsprechende Nachricht anzeigen und ein Formular zum Abonnieren einer anderen Adresse oder zum Löschen einer vorhandenen Adresse anzeigen. Das ist eigentlich fast alles. Es bleibt nur die Möglichkeit hinzuzufügen, Briefe zu senden. Lassen Sie uns aus Sicherheitsgründen ein Passwort für die Möglichkeit zum Versenden von Briefen festlegen - ein Formular zur Eingabe eines Passworts ist erforderlich. Dahlia benötigt Formulare zum Ausfüllen der Absenderadresse und des Betreffs sowie für den Text selbst. Und schließlich das Skript selbst, das Briefe versenden wird. Und jetzt ist alles in Ordnung.

Das Formular zur Eingabe einer E-Mail-Adresse besteht nur noch aus einem Fenster zur Eingabe einer Adresse und einem Button zur Bestätigung:


Im Texteingabefenster wird also mit dem Namen email und einer sichtbaren Länge von 30 Zeichen eine E-Mail-Adresse eingetragen. Nachdem Sie auf die Schaltfläche mit der Bezeichnung „Abonnieren“ geklickt haben, wird die Adresse an das Skript ras.php zur Aufnahme in die Mailingliste übergeben.

Schauen wir uns als nächstes das Skript ras.php an, das die E-Mail-Adresse in einer Datei speichert, eine Nachricht über das Ergebnis anzeigt und Formulare zum An- und Abmelden enthält. Das Skript kann ganz einfach ausgeführt werden - Adresse speichern, entsprechende Meldung anzeigen. Aber es können Probleme auftreten: Jemand kann sich versehentlich mehrmals anmelden, jemand kann sich vertippen und ein ungültiges Zeichen in das Adressfeld eingeben. In diesem Fall wird die Mailingliste verseucht und falsche Adressen führen zu Fehlern im Skript. Die Schlussfolgerung ist eindeutig – vor dem Speichern der Adresse sollten Sie diese auf die Einhaltung der Standards zur Benennung von Adressen elektronischer Postfächer sowie auf das Vorhandensein in der Mailingliste prüfen. Um den Code nicht in Teilen zu betrachten, werde ich Kommentare im Code selbst geben:

$file = "maillist.txt"; // Datei mit Adressen error_reporting(0); // die Ausgabe von Meldungen über mögliche Fehler deaktivieren function test_mail($char) // eine Funktion, die die Echtheit der Adresse prüft ( if (preg_match("/^[_\.0-9a-z-] [E-Mail geschützt]([-0-9a-z\.]+)\.((2,3)$)/", $char)) return true; return false; ) // Erhalte die im Formular eingegebene Adresse mit Kleinbuchstaben $ email = trim(strtolower($email)); function copy_mail($char) // prüfen, ob eine solche Adresse in der Datenbank existiert ( global $file; $list = file($file); for ($i = 0; $ ich< sizeof ($list); $i++) if ($char == trim($list[$i])) return true; return false; } echo "

"; if (is_file($file)) // dann Adresse mit obiger Funktion prüfen ( $maillist = file($file); if (!$email == "") ( if (test_mail($email)) ( if (! copy_mail($email)) ( $maillist = "\n$email"; print "E-Mail: $email zur Mailingliste hinzugefügt
"; ) else print "E-Mail: $email ist bereits in der Datenbank"; ) else print "E-Mail: $email existiert nicht"; ) sonst drucke ""; ) sonst drucke "$Datei nicht gefunden! Bitte informieren mich über den Fehler."; // zeige ein Formular mit einem Vorschlag zum An- und Abmelden echo "
Newsletter abonnieren
"; echo "Mail eingeben:
"; Echo"


"; echo "Von der Mailingliste abmelden
Geben Sie mail:"; echo " ein
"; // Wenn der Benutzer sich entscheidet, sich abzumelden, lösche die eingegebene Adresse $flag = false; $fw = fopen($file, "w"); for ($i = 0; $i< sizeof ($maillist); $i++) if (trim(strtolower($delmail)) == trim(strtolower($maillist[$i]))) { if (!$delmail == "") { print "
$delmail von der Mailingliste entfernt
"; $flag = true; ) ) else fputs($fw, $maillist[$i]); // die eingegebene Adresse ist nicht in der Datenbank fclose($fw); if (!$delmail == "") if (!$ Flag) print "
$delmail nicht in der Mailingliste gefunden
";

Hier ist unser Code zum Speichern und Löschen von Adressen fertig. Jetzt müssen wir uns um die Mittel zum Versenden von E-Mails kümmern. Wir versenden nicht über Outlook!?. Wie bereits erwähnt, schützen wir die Versandmöglichkeit mit einem Passwort, das wir in ein spezielles Formular eintragen:


Das Eingabefeld heißt pass und dient zur Eingabe des Passworts. Nachdem Sie auf die Schaltfläche mit der Bezeichnung Login geklickt haben, wird das Passwort an das Skript out.php übergeben:

$subject = "Mailingliste meiner Website"; // Mailing-Betreff $fromemail = "my@soap"; // Ihre Adresse (für Antworten) $file = "maillist.txt"; // Liste der Abonnentenadressen $password = "secretpassword"; // dein Passwort für den Versand if ($_POST["pass"] == $password) // wenn das Passwort korrekt ist // dann zeige das Formular mit Eingabefeldern: // Absenderadresse, Nachrichtentext, Nachrichtentext // Schaltfläche zum Versenden // nach Klick auf den Button übergeben wir die Daten an das send.php-Skript ( echo "


"; echo "Absenderadresse

"; Echo "E-Mail-Betreff
"; Echo"
Text des Schreibens:
"; Echo"
"; drucken " In der Basis ".sizeof($maillist) ." Adressen

"; für ($i = 0; $i< sizeof ($maillist); $i++) print $maillist[$i]. "
"; ) // wenn das Passwort falsch ist - bitte erneut eingeben sonst echo "
";

Es bleibt nur ein Skript zu berücksichtigen - dasjenige, das E-Mails sendet:

$odr = "\n\n\n Verwenden Sie den Link zum Abbestellen\n"; $homepage = "http://site.url/ras.php"; error_reporting(0); $betreff = $HTTP_POST_VARS["betreff"]; $body = $HTTP_POST_VARS["body"]; $subject = stripeslashes($subject); $body = stripeslashes($body); $file = "maillist.txt"; $maillist = file($file); Drucken Sie "In der Basis". sizeof($maillist) ." Adressen
"; für ($i = 0; $i< sizeof ($maillist); $i++) { #echo($maillist[$i]."
"); mail($maillist[$i], $subject, $body ."$odr $homepag?delmail=$maillist[$i]", "Von:<$fromemail>"); ) echo "Fertig!";

Hier ist alles einfach: Wir erhalten die im vorherigen Formular eingegebenen Werte und senden sie in einer Schleife der Reihe nach an jede der Adressen.

Copyright by Vladislav Putyak http://ru-coding.com/ . Änderungen und Ergänzungen

PHP Newsletter ist ein E-Mail-Marketing-Tool zum Organisieren von E-Mail-Newslettern von Ihrer Website, alle Informationen. Das Skript ist einfach zu bedienen, einfach zu installieren, vielseitig einzurichten und mit minimalen Hosting-Anforderungen. PHP-Newsletter ist in PHP geschrieben und hat viele nützliche Features und Funktionen, wie z. B. Erstellen einer Mailingliste mit Sortierung nach Kategorien, visueller Editor für Briefvorlagen, Versenden von Briefen mit Anhängen, Mailen über SMTP-Server, Import/Export der E-Mail-Datenbank, Abonnentenverwaltung, Autoresponder-Mailinglisten, Mailing-Statistiken und vieles mehr für einen E-Mail-Vermarkter.
Erfordernis

PHP 5.3 und höher
- MySQL-Datenbank 4.1 und höher
- E-Mail ()
-iconv
- MB-String
-Reißverschluss

Möglichkeiten

PHP Newsletter bietet alles, was Sie zum Erstellen, Senden und Verfolgen von E-Mail-Newslettern benötigen. Enthält Funktionen:

  • Bequemer WYSIWYG-Editor

Mit dem integrierten WYSIWYG-Editor können Sie E-Mail-Vorlagen erstellen und bearbeiten. Sie können Text formatieren, Bilder hochladen und einfügen, Links hinzufügen und vieles mehr.

  • Versenden von E-Mails über SMTP-Server, mail() und sendmail

PHP-Newsletter kann E-Mails über die standardmäßige PHP-Funktion mail() oder über SMTP-Server mit Sockets oder Sendmail-Mail-Übertragungsagenten senden;

  • Autoresponder

Sie können Mailinglisten erstellen, die dann automatisch in der angegebenen Reihenfolge nach Zeitplan versendet werden. Sie müssen lediglich Cron einrichten und eine Mailingliste erstellen.

  • Newsletter-Anmeldeformular mit Abmeldemöglichkeit

Mit PHP Newsletter können Sie Formulare zum An- und Abmelden von Newslettern erstellen. Sie können das Formular zu Ihrer Website hinzufügen, indem Sie den HTML-Code des Formulars auf Ihrer Website platzieren.

  • Wahl des Mailing-Formats (plain und html)

Mit dem integrierten E-Mail-Vorlageneditor können Sie ansprechende HTML-E-Mails oder E-Mails im Nur-Text-Format erstellen.

  • Unterstützung für die meisten bekannten Kodierungen

PHP Newsletter unterstützt über 35 verschiedene nationale Kodierungen.

  • Fügen Sie einen Anhang hinzu und senden Sie ihn

Das Skript bietet volle Unterstützung für das Hochladen und Senden von Anhängen.

  • Hinzufügen von Standardprioritäts- (Massen-, Junk- oder Listen-) und Listen-Unsubscribe-Headern zur Mailingliste

Um zu vermeiden, dass Ihre E-Mails in Spam geraten, wird empfohlen, in Mailinglisten Kopfzeilen mit Vorrang (Masse, Junk oder Liste) und Listenabmeldung hinzuzufügen.

  • Hinzufügen einer DKIM-Signatur zum E-Mail-Header

Um die Klassifizierung und Identifizierung legitimer E-Mails zu verbessern, können Sie mit dem PHP-Newsletter-Tool eine DKIM-Signatur (eine Technologie zur Überprüfung der Identität des Absenders eines Briefes durch Hinzufügen einer mit einem Domänennamen verknüpften digitalen Signatur) zu den Kopfzeilen ausgehender E-Mails hinzufügen E-Mails.

  • E-Mail-Personalisierung

E-Mail-Personalisierung ist eine der effektivsten Möglichkeiten, um einen guten ersten Eindruck bei Ihrem E-Mail-Empfänger zu hinterlassen, da personalisierte E-Mails statistisch gesehen eher geöffnet und gelesen werden. Fügen Sie der E-Mail-Vorlage ein Tag hinzu NAME und wird automatisch durch den Namen des Abonnenten ersetzt.

  • Erstellen Sie eine unbegrenzte Mailingliste
  • Verwaltung der Abonnentenliste

Über die Webschnittstelle können Sie die Liste der Abonnenten verwalten: Abonnenten anzeigen, hinzufügen, bearbeiten und löschen.

  • E-Mail-Adressen importieren/exportieren

PHP Newsletter bietet ein Tool zum Importieren und Exportieren von E-Mail-Adressen. Sie können Daten aus Klartext- oder MS-Excel-Dateien importieren sowie Daten in Text- und MS-Excel-Dateien exportieren.

  • Mailing-Protokoll

Für jedes Mailing wird eine detaillierte Statistik über die Anzahl versendeter und nicht versendeter Briefe erfasst. Sie können auch Informationen darüber erhalten, wie viele Benutzer E-Mails geöffnet haben. Außerdem können Sie Statistiken in eine MS Excel-Datei exportieren.

  • Webinterface vom Administrator

Um die Mailingliste zu bearbeiten und zu verwalten, steht Ihnen ein praktisches und recht einfach zu bedienendes Admin-Panel zur Verfügung, auf das Sie über die Webschnittstelle zugreifen können. Eine Vielzahl von Einstellungen ermöglicht es Ihnen, das System schnell nach Ihren Anforderungen zu "schärfen".

  • Installationsassistent

Die Installation wird einfach über Ihren Webbrowser gestartet. Sie müssen den Zugriff auf die Datenbank eingeben und die Installation fortsetzen, und der Installationsassistent führt alle erforderlichen Aktionen aus.

Was ist neu in Version 4.1.x

Installation

  • Entpacken Sie die Distribution in ein beliebiges Verzeichnis auf Ihrer Website, zB "/phpnewsletter" Kann im Stammverzeichnis installiert werden;
  • Führen Sie den Installationsassistenten aus, geben Sie dazu im Browser Folgendes ein: http://Ihre_Website/Paket_mit_Skript/install/;
  • Entfernen Sie nach dem Installationsvorgang das Verzeichnis „/phpnewsletter/install/“.

*Wenn Sie aus irgendeinem Grund nicht über den Installationsassistenten installieren konnten, können Sie das Skript manuell installieren.

  • Platzieren Sie die SQL-Abfrage für MySQL-Datenbanktabellen aus der Datei dump.sql. Einfacher geht das über eine Weboberfläche wie phpMyAdmin, die von den meisten Hosting-Providern bereitgestellt wird.

Nachdem Sie die Tabellen in die Datenbank gestellt haben, öffnen Sie die Datei config/default.config.php in einem beliebigen Texteditor und notieren Sie sich die Parameter für die Verbindung zur MySQL-Datenbank. wobei $PNSL["config"]["db"]["host"] die MySQL-Serveradresse ist, $PNSL["config"]["db"]["name"] der Datenbankname ist, $PNSL[" config "]["db"]["user"] ist der Benutzername, $PNSL["config"]["db"]["passwd"] ist das Passwort. Als config.php speichern Um das Admin-Panel aufzurufen, geben Sie das Passwort 1111 ein

Einstellung

  • Fügen Sie einer Webseite ein Newsletter-Anmeldeformular hinzu
$url = "http://yoursite/phpnewsletter/?task=subform""; $get_content = file($url); $get_content = implode($get_content, "\r\n"); preg_match("/
(.*)<\/div>/isU", $get_content, $out); echo $out;
  • Fügen Sie für normale statische Webseiten den HTML-Code ein:
Name
Email
  • Mailversand über SMTP-Server konfigurieren

Um Mailings per SMTP-Server zu versenden, gehen Sie wie folgt vor. Gehen Sie zum Admin-Panel, gehen Sie dann zum Abschnitt „Einstellungen“ und geben Sie auf der Registerkarte „SMTP-Server“ den SMTP-Server, das Login, das Passwort und den SMTP-Server-Port an (standardmäßig 25). Wählen Sie „Sendemethode“ – SMTP-Server.

  • E-Mail-Versand über Mail.ru einrichten

Administrator-E-Mail: [E-Mail geschützt]
Mailbox-Login: [E-Mail geschützt]
Passwort: qwerty
SMTP-Server: smtp.mail.ru
SMTP-Port des Servers: 25
Authentifizierungsmethode: LOGIN

  • E-Mail-Versand über Gmail einrichten

Administrator-E-Mail: [E-Mail geschützt]
Mailbox-Login: [E-Mail geschützt]
Passwort: qwerty
SMTP-Server: smtp.gmail.com
SMTP-Port des Servers: 465

Authentifizierungsmethode: LOGIN
Sendemethode: SMTP-Server

  • Einrichten des Briefversands per Yandex-Mail

Administrator-E-Mail: [E-Mail geschützt]
Mailbox-Login: vasyapupkin
Passwort: qwerty
SMTP-Server: smtp.yandex.ru
SMTP-Port des Servers: 465
Über sichere Verbindung (SSL) verbinden: Ja
Authentifizierungsmethode: LOGIN
Sendemethode: SMTP-Server
DKIM-Signatur hinzufügen

Zuerst müssen Sie einen DKIM-Schlüssel generieren. Verwenden wir den Onlinedienst http://dkim.worxware.com/createkeys.php

Geben Sie im Feld „Domain“ Ihre Domain und im Feld „Identität“ die E-Mail-Adresse an, die Sie in den PHP-Newsletter-Einstellungen unter „E-Mail“ angegeben haben. Nachdem Sie alle Felder des Formulars ausgefüllt haben, klicken Sie auf die Schaltfläche „Senden“, danach sollte ein Link zum Zip-Archiv erscheinen. Klicken Sie auf diesen Link, um das Archiv auf Ihren Computer herunterzuladen und dann zu entpacken. Es sollte 4 Dateien enthalten: .htkeyprivate (privater Schlüssel), .htkeypublic (öffentlicher Schlüssel), DNS _resource_record.txt und PHPMailer_code_plus_instructions.txt Kopieren Sie .htkeyprivate auf den Webserver in den Ordner keyprivate.

Öffnen Sie die Datei PHPMailer_code_plus_instructions.txt. Gehen Sie als Nächstes zum Administrationsbereich, füllen Sie im Abschnitt „Einstellungen“ auf der Registerkarte „Mailing-Optionen“ in den Feldern „DKIM-Signatureinstellungen“ die Werte aus, die in PHPMailer_code_plus_instructions.txt angegeben sind Geben Sie im Feld „Signierte Domäne“ den Wert aus $mail->DKIM_domain ein, im Feld „Selektor“ den aus $mail->DKIM_selector, im Feld „Schlüsselwort“ den aus $mail->DKIM_passphrase und im Feld „Signierte Identität ” Feld die E-Mail-Adresse ein, die Sie in Ihren Einstellungen unter „E-Mail“ angegeben haben Aktivieren Sie das Kontrollkästchen „DKIM-Signatur zum E-Mail-Header hinzufügen“ und klicken Sie auf „Übernehmen“.

Das ist nicht alles. Um die Gültigkeit des Servers des Absenders anhand seines DNS-Eintrags bestätigen zu können, müssen Sie DKIM zum txt-Eintrag in der DNS-Konfiguration hinzufügen. Dazu müssen Sie in das Domain Control Panel gehen (dazu müssen Sie Administratorrechte für diese Domain haben). Der Wert dieses Datensatzes wird der DNS-Datei _resource_record.txt entnommen.

P.S. Weitere Informationen zum Skript finden Sie in der Readme des Quellcodes.

 

Es könnte hilfreich sein zu lesen: