Jax Newsletter v2.1
Dokumentation
Was ist Jax Newsletter? - Wozu braucht man es?
Leistungsmerkmale (Features)
Systemvoraussetzungen
Lizenz
Grundlegendes zur Funktionsweise der Skripte
An- und Abmeldevorgang
Anwendung / Einbindung des Skriptes
Manuelles Verwalten der Mailingliste
Versenden von Newslettern
Wichtige Hinweise
zur Sicherheit
Wie kann ich die Farben und Schriftarten
ändern?
Wie kann ich die Absenderadresse festlegen?
Wie kann man mehrere Mailinglisten gleichzeitig
betreiben?
Wie kann ich zusätzliche Benutzerdaten
erfassen?
Wie kann ich festlegen, welche zusätzlichen
Benutzerdaten zwingend sind?
Wie kann ich die Länderfahnen
ausschalten?
Wie ändert man die Datei-Zugriffsrechte
auf dem Webserver?
Wie bekomme ich das Skript auf dem IIS zum laufen?
Wieviele Einträge kann Jax Newsletter
speichern?
Wie kann ich mithelfen, dieses Projekt
zu unterstützen?
Wo erhalte ich Informationen über Updates
und Änderungen?
Probleme mit MySQL
Probleme mit Bestätigungslinks bei Lycos-Webspace
Probleme bei Verbindungsabbruch
| Projekt: | Jax Newsletter (Online-Verwaltung von Mailinglisten) | |
| Version: | 2.1 | |
| Interpreter: | PHP 4.3+ | |
| Code: | Andreas John | |
| Design: | Andreas John | |
| Homepage: | www.jtr.de/scripting/php/newsletter/ | |
| Lizenz: |
Copyright (C) 2001-2004, Andreas John [ Jack (tR) ] Dieses Programm ist Freeware im Sinne der "General Public License"
Version 2 oder neuer! Den genauen Wortlaut dieser Lizenz finden Sie
in der beiliegenden Datei gpl.txt, bzw. auf der Website der Free Software
Foundation unter http://www.fsf.org/copyleft/gpl.html Bitte beachten Sie, dass ich keinerlei Haftung für Schäden übernehme, die im Zusammenhang mit der Nutzung dieser Software auftreten... |
Ich möchte allen Leuten ein großes Dankeschön aussprechen, die dieses und viele andere Open Source Projekte durch ihre Hinweise, Übersetzungen, liebevollen Anpassungen und Links auf ihren Webseiten unterstützen...
Mein persönliches Dankeschön geht vor allem an:
| Andrej | |
| Edward Brüheim | http://www.bruheim.net |
| Giovanni Scopel | |
| Jan-Ruben van Schie | http://www.jrwebdsign.nl |
| Hardy Hünteler | |
| [KB]BuzzDee | http://www.buzzee.de.vu |
| Liesel Knorr | |
| Manfred Stumpf | |
| Martin Sondermann | http://www.kunstphotografie.de |
| Michal Letko | |
| Mr Who | http://www.mrwho.homeip.net |
| Pawel Wagner | http://www.gry.skokinarciarskie.com |
| Richard Heyes | http://www.phpguru.org |
| Roland Freimüller | http://www.top-solution.at |
| Sabine Trautmann | |
| Susanne Müller | http://www.netz-konzept.de |
| Tamas Herczeg | http://www.soft-trans.hu |
| Thomas Bjørnseth | http://www.bjornseth.net |
| Wojciech Dorosz | http://www.serwisy.net |
| Wolfgang Liehr | |
| InteractiveTools.com (bzw. die Entwickler von HTMLarea) |
Wenn Sie dieses Skript verwenden, würden wir uns freuen, wenn Sie mithelfen, dieses Projekt zu unterstützen!
Jax Newsletter ist ein Skript, mit dem Sie Mailinglisten online auf ihrer Website verwalten und e-mails (Newsletter) an diese Listen versenden können. (Mailinglist Manager).
Das Ein- und Austragen der Empfänger in diesen Mailinglisten erfolgt vollautomatisch, d.h. Besucher können sich über ein Formular auf der Website mit Ihrer e-mail-Adresse in die Mailinglisten ein, bzw. aus den Mailinglisten wieder austragen.
Eine Demoversion von Jax Newsletter finden Sie unter: http://www.jtr.de/scripting/php/newsletter/newsletter/index.php
Jax Newsletter bietet Ihnen neben den typischen Funktionen eines WWW-Newslettersystems viele zusätzliche Leistungsmerkmale. Besonders hervorzuheben ist an dieser Stelle die flexible Unterstützung verschiedener Datenquellen, die es Ihnen ermöglicht, das Newslettersystem sowohl mit einfachen CSV-Textdateien als auch mit einem MySQL-Datenbanksystem zu betreiben.
Nachfolgend finden Sie eine Übersicht der wesentlichen Leistungsmerkmale von Jax Newsletter:
Jax Newsletter wurde in PHP 4 geschrieben, einer serverseitigen Programmiersprache, mit der man dynamisch erzeugte Webseiten erstellen kann! (Fragen Sie gegebenenfalls Ihren Web-Provider nach PHP-Unterstützung!)
Jax Newsletter ist in der Lage, die Empfänger-Adressen sowohl in einfachen Textdateien, als auch in einem MySQL-Datenbanksystem abzulegen, dadurch läuft es auch ohne MySQL-Datenbank-Anbindung!
Jax Newsletter und seine Einzel-Bestandteile unterliegen den Bedingungen der
GPL - General Public License in der
Diese Lizenz erlaubt es Ihnen vor allem, die Software frei weiterzugeben und natürlich weiterzuentwickeln. Desweiteren sind Sie hiermit verpflichtet, einen Copyrighthinweis, bzw. einen Link zum Originalskript (http://www.jtr.de/scripting/php/newsletter) beizubehalten!
Jax Newsletter enthält ausserdem die Module htmlArea, und HTMLMimeMail die einer BSD-ähnlichen Lizenz unterliegen, die sie evtl. gesondert berücksichtigen müssen.
Jax Newsletter wurde in PHP 4 geschrieben, einer serverseitigen Programmiersprache, mit der man dynamisch erzeugte Webseiten erstellen kann! (Fragen Sie gegebenenfalls Ihren Web-Provider nach PHP-Unterstützung!)
Jax Newsletter ist in der Lage, die Daten sowohl in einfachen CSV-Textdateien, als auch in einem MySQL-Datenbanksystem abzulegen, das bedeutet, es läuft auch ohne MySQL-Datenbank-Anbindung!
Verfügen Sie für Ihre Website bereits über PHP-Unterstützung, dann tun
Sie bitte folgendes:
Jax Newsletter wurde so entworfen, dass es sowohl einfache Textdateien, als auch MySQL-Datenbanktabellen zur Speicherung der Einträge verwenden kann. Der Betrieb mit einem MySQL-Datenbanksystem ist bei großen Mailinglisten mit mehreren tausend Einträgen in der Regel schneller als die CSV-Variante...
Verfügen Sie über MySQL-Unterstützung dann tun Sie bitte folgendes:
$data_source = "mysql"
$db_server = "mysqlserver2.mydomain.tld";
$db_login = "user152";
$db_database = "my_db";
$db_password = "hummel";
*Die Tabellennamen müssen die gleichen sein, die in der Datei globals.inc.php festgelegt sind...CREATE TABLE jnl_groups (
id int(11) NOT NULL auto_increment,
ml_id varchar(10) NOT NULL default '',
title varchar(128) NOT NULL default '',
grp_name varchar(128) NOT NULL default '',
subscribers int(11) NOT NULL default '0',
languages varchar(255) NOT NULL default '',
css varchar(128) NOT NULL default '',
archive varchar(128) NOT NULL default '',
sign_in_page varchar(128) NOT NULL default '',
sign_out_page varchar(128) NOT NULL default '',
validation_page varchar(128) NOT NULL default '',
senders varchar(128) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE jnl_queue (
id int(11) NOT NULL auto_increment,
start_time int(16) NOT NULL default '0',
xid VARCHAR(32) NOT NULL default '0',
groups varchar(255) NOT NULL default '', archive_entry int(1) NOT NULL default '0',
mail_subject varchar(128) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;CREATE TABLE jnl_recipients (
id int(11) NOT NULL auto_increment,
email varchar(128) NOT NULL default '',
hash varchar(32) NOT NULL default '',
mail_format char(1) NOT NULL default '',
gender char(1) NOT NULL default '',
nick varchar(64) NOT NULL default '',
mode varchar(4) NOT NULL default '',
groups varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;CREATE TABLE jnl_records (
id int(11) NOT NULL auto_increment,
action varchar(4) NOT NULL default '',
time varchar(32) NOT NULL default '',
ip varchar(10) NOT NULL default '',
email varchar(255) NOT NULL default '',
hash varchar(32) NOT NULL default '',
mail_format char(1) NOT NULL default '',
gender char(1) NOT NULL default '',
nick varchar(64) NOT NULL default '',
mode varchar(4) NOT NULL default '',
groups varchar(255) NOT NULL default '',
age varchar(4) NOT NULL default '',
profession varchar(64) NOT NULL default '',
nationality varchar(32) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;CREATE TABLE jnl_subscribers (
id int(11) NOT NULL auto_increment,
date varchar(16) NOT NULL default '',
email varchar(128) NOT NULL default '',
hash varchar(32) NOT NULL default '',
mail_format char(1) NOT NULL default '',
gender char(1) NOT NULL default '',
nick varchar(64) NOT NULL default '',
groups varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;CREATE TABLE jnl_archive_eng (
id int(11) NOT NULL auto_increment,
timestamp int(16) NOT NULL default '0',
xid varchar(16) NOT NULL default '',
mail_subject varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
CREATE TABLE jnl_archive_ger (
id int(11) NOT NULL auto_increment,
timestamp int(16) NOT NULL default '0',
xid varchar(16) NOT NULL default '',
mail_subject varchar(255) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM
INSERT INTO jnl_groups VALUES (1, '00', 'Jax Newsletter',
'German', 1, 'de', 'default.css', 'jnl_archive_ger', 'sign_in.php', 'sign_out.php',
'validate.php', 'postmaster@%!this_domain!%');
Jax Newsletter besteht aus vier Teilen:
1. Skripte zum Automatischen An- und Abmelden der Empfänger:
Die Skripte index.php, sign_in.php, sign_out.php und validate.php sind (nur) Beispieldateien für die Einbindung der Anmeldeskripten. Sie binden die entsprechenden .inc.php-Module aus dem Verzeichnis forms ein..
Alle Skripte von Jax Newsletter (inklusive der Admin-Skripte) gehorchen dem folgenden Aufrufschema:
http://..../index.php?ml_id=01&language=English
ml_id
gibt die voreingestellte Empfängergruppe an! Die Aktionen im Admin-System
und in den Formularen beziehen sich dann immer auf diese Empfängergruppe.
Für jeden verwendeten Schlüssel ml_id
müssen Sie vorher mit dem Admin-Programm in der Gruppenlisten-Datei mailinglists/jnl_groups
eine entsprechende Gruppe angelegt haben. ml_id
kann alle alphanumerischen Werte (also auch Buchstabenkombinationen) annehmen.
language
gibt die Sprache an, in der die Meldungen des Newsletters angezeigt werden sollen.
Wichtig ist, dass für die in der URL angegebene Sprache auch eine entsprechende
Sprachvorlage im Verzeichnis languages existiert!
Andernfalls wird die Sprache gewählt, die in newsletter.settings.inc.php
festgelegt wurde.
2. Hilfsskripte für die Anzeige archivierter News
Zusätzlich zu den Skripten des Anmelde-/Abmeldesystems gibt es noch ein Archiv-Skript archive.php, das eine Liste aller gesendeten Newsletter anzeigt. Dieses Skript ist ebenfalls eine Beispieldatei für die Einbindung des modules/archive.inc.php
3. Administrationsskripte
Dieser Block umfasst alle Administrationsskripte, die sich hinter dem Skript admin/index.php verbergen, ausgenommen das Skript mailservice.php.
navigation.php dient als Verwaltungsmenü
der einzelnen Administrationsfunktionen (erfodert JavaScript!!!)
list.admin.php dient zum Anzeigen und Löschen der Einträge
in den Mailinglisten. groups.admin.php dient
zum Anlegen, Ändern und Löschen von Mailinglisten.
posting.php ist das eigentliche Sende-Formularl des Newslettersystems.
archive.admin.php bietet Funktionen zum Löschen der Archiv-Einträge.
admin.php dient als Hilfe zur Änderung der Einträge in newsletter.settings.inc.php..
4. Skripte für den e-mail-Versand
Das Skript mailservice.php dient zum zeitgesteuerten Versenden von e-mails. Es nimmt die e-mails vom Sendeformular posting.php entgegen, reiht sie in eine Warteschlange, und schickt sie zum gewünschten, bzw. nächstmöglichen Zeitpunkt ab.
Trägt sich ein Besucher in eine Mailingliste ein oder aus, werden die eingegebenen Daten in einer Protokolldatei (standardmäßig bei beiden Mailinglisten in der Datei jnl_records) gespeichert. Ausserdem wird ein "pseudo-zufällig" generierter Schlüssel zusammen mit der e-mail-Adresse in der Datei /mailinglists/jnl_subscribers gespeichert.
Um sicherzustellen, dass niemand unerwünscht die e-mail-Adresse eines anderen in die Liste ein- bzw. aus der Liste austrägt, bekommt der "Eigentümer" der e-mail-Adresse nach der Anmeldung durch das Skript sign_in.php eine e-mail zugeschickt. Diese e-mail enthält einen Hyperlink auf das Skript validate.php, den der Empfänger anklicken muß, um sich entgültig in die entsprechende Mailingliste ein- oder auszutragen.
Beispiel:
http://.../newsletter/validate.php?ml_id=0&do=sign&uid=3et60c4i45....
do
gibt an, ob sich der Benutzer ein oder austrägt.
uid
enthält den von sign.php erzeugten Schlüssel,
den validate.php jetzt mit den Schlüsseln in
der Datei jnl_subscribers vergleicht. Ist der
Vergleich erfolgreich, wird der entsprechende Eintrag in der Datei jnl_subscribers
gelöscht und die e-mail-Adresse in die Mailingliste jnl_recipients
übernommen, bzw. gelöscht...
Die Skripte können wie oben beschrieben verlinkt werden. Sie können Ihre eigenen Eintrage-/Austrageformulare verwenden, müssen jedoch darauf achten, dass es mindestens das Pflichtfeld "email" gibt. Das Programm index.php dient übrigens nur zu Demonstrationszwecken und zeigt Ihnen, wie Sie ein kombiniertes Anmelde-/Abmeldeformular auf Ihrer Website integrieren können. Nach dem Eintragen der e-mail-Adresse wird der Benutzer zu den einzelnen, detailierteren Formularen sign_in.php und sign_out.php geführt.
Zur Verwaltung Ihrer Mailinglisten stehen Ihnen eine Reihe von Administrationsskripten zur Verfügung, die Sie über das Programm index.php im Verzeichnis admin aufrufen können. Bitte denken Sie daran, dieses Verzeichnis gegen den Zugriff unbefugter abzusichern! Die Sprache des Administrationssystems können Sie wie gewohnt über den Parameter language beeinflussen:
http://.../admin/index.php?language=English
Um eine Nachricht an eine Mailingliste zu schicken, rufen Sie das Skript admin/posting.php (am einfachsten zu erreichen über das Administrationssystem unter den Links in der Sektion Posting) auf. Wählen Sie die Empfängergruppen aus, Geben Sie die Nachricht ein und drücken Sie dann auf Senden.
Wichtig:
Damit das Skript alle Nachrichten verschicken kann, muß die Browserverbindung
"offen" gehalten werden. Sie dürfen also das Browserfenster erst schließen,
wenn Sie eine Bestätigung erhalten, dass alle e-mails erfolgreich verschickt
wurden! Falls Ihnen die Verbindung dennoch versehentlich einmal abbricht, wird
die Sendung in der Mailwarteschlange gehalten und Sie können den Sendevorgang
an der Stelle des Abbruchs wieder aufnehmen.
Jax Newsletter besitzt keinen eigenen Passwort-Schutz! Stellen Sie also bitte
über das Konfigurationssystem Ihres Websspace sicher, dass niemand ausser
Ihnen Zugriff auf das Administrationsverzeichnis (admin)
hat!
Falls Sie Jax Newsletter im CSV-Modus benutzen, sollten Sie die automatische
Verzeichnisanzeige (Directory-Index) abschalten, und Ihre .csv-Dateien
umbenennen damit Benutzer nicht in ihre Mailinglisten und Protokolldateien schauen
können! Dieses Problem stellt sich nicht, wenn Sie das Skript mit MySQL
verwenden!
Dafür stehen im Verzeichnis css verschiedene vordefinierte Stylesheets zur Verfügung, die man nach Belieben mit einem Texteditor verändern kann.
Die Absenderadresse wird standardmäßig auf postmaster@ihredomain.tld voreingestellt. Wenn Sie die Adresse per Hand ändern wollen dann müssen Sie in der Datei newsletter.settings.inc.php die Variable
$newsletter_admin_email = "postmaster@".$SERVER_NAME;
auf Ihre Adresse anpassen, in meinem Fall wäre das z.B:
$newsletter_admin_email = "jack@jtr.de";
Zusätzlich besteht die Möglichkeit im Gruppen-Administrationssystem [Mailinglisten/Übersicht], für jede Mailingliste eine eigene Absenderadresse festzulegen.
Die Datenstruktur für Jax Newsletter wurde für Version 2.0 komplett überarbeitet, und bietet jetzt eine direkte Unterstützung mehrerer Mailinglisten. (Empfängergruppen)
Legen Sie einfach mit dem Newsletter-Administrationsprogramm unter "Mailinglisten/Anlegen" eine neue Mailingliste an. Falls Sie für Ihre Website eigene Anmeldeskripte auf Basis der Dateien im /forms-Verzeichnis angelegt haben, denken Sie bitte daran, die Namen Ihrer Skripte beim Anlegen der Mailinglisten im Administrationssystem unter "Anmeldeseite", "Abmeldeseite" und "Bestätigungsseite" einzutragen.
Jax Newsletter speichert standardmässig neben der e-mail-Adresse und der IP-Adresse den Inhalt Formular-Felder profession (Beruf), age (Alter) und nationality (Nationalität) die über das Formular sign_in.php übergeben werden.
Wenn Sie z.B. zusätzlich noch den Geburtstag der Katze des Abonennten ;-) aufnehmen möchten, ändern Sie im Skript validation.inc.php folgende Zeilen:
if ( $log_signings )
{
$log = array();
$log[ "action" ] = "+";
$log[ "time" ] = $time_now;
$log[ "ip" ] = $REMOTE_ADDR;
$log[ "email" ] = $email;
$log[ "profession" ] = $profession;
$log[ "age" ] = $age;
$log[ "nationality" ] = $nationality;
$log[ "kitties_birthday" ] = $kitties_birthday;
$logbook->append( $log );
}
Danach müssen Sie entweder die .CSV-Datei für die Protokolllierung (standardmäßig logs/jnl_records) löschen (dann wird beim nächsten Aufruf des Skripts automatisch ein neuer Tabellenkopf angelegt, oder die erste Zeile der Datei um den Variablennamen erweitern:
"action","time","ip","email","profession","age","nationality","kitties_birthday" "+","2002-03-03 21:14:47","127.0.0.1","jack@jtr.de","Webmaster","1978","Deutsch"
Verwenden Sie eine MySQL-Datenbank als Datenquelle, so müssen Sie die Tabelle für die logs erweitern:
ALTER TABLE `jnl_records` ADD `kitties_birthday` VARCHAR(30) NOT NULL;
Wichtiger Hinweis:
Bitte beachten Sie bei der Aufnahme zusätzlicher Daten unbedingt den Grundsatz
der Datensparsamkeit (im Sinne der Deutschen Datenschutzgesetze).
Unzulässig (und evtl. Grund zur einer kostspieligen Abmahnung gegen Sie) ist in diesem Sinne die Aufnahme aller Daten, die zum ordnungsgemäßen Betrieb der Mailingliste nicht zwingend erforderlich sind, und über die Rückschlüsse auf die Person möglich sind. (z.B. Konfession, Sexualität, Gesundheitszustand usw...)
Statistische Daten (wie z.B. Interessensgebiete, Berufsgruppe etc.) sind dagegen evtl. für die Gestaltung eines Newsletters nützlich, ohne die Privatsphäre des Empfängers zu gefährden. Um rechtlichem Ärger von vornherein aus dem Wege zu gehen, sollten Sie lieber zurückhaltend über die Notwendigkeiten entscheiden...
Dazu finden Sie im Admin-Programm unter [Grundeinstellungen/Ändern] am Ende des Formulars ein paar Kontrollschalter, mit denen Sie festlegen können, welche Daten im Sign-in-Formular aufgenommen werden sollen, und ob diese zwingend sein sollen. Sind die Datenfelder als zwingend markiert, muss der Benutzer Werte in diese Felder eingeben, um sich zu registrieren.
Normalerweise zeigt Jax Newsletter im Anmeldeformular neben dem Namen jeder verfügbaren Mailingliste die Länderfahnen für die verfügbaren Sprachen an.
Auf speziellen Wunsch hin, habe ich die Anzeige der Sprachen durch Länderflaggen optional gestaltet. Wenn Sie die Länderfahnen unterdrücken wollen (z.B. weil Sie nur eine Liste haben, und Ihnen das Deutschlandsymbol dahinter zu "extrem-nationalistisch" erscheint! ;-) setzen Sie bitte manuell in der newsletter.settings.inc.php die Variable
$show_national_flags = false;
Wenn Ihr Webserver unter Unix arbeitet (Apache) müssen Sie den Unix-Befehl chmod zum Ändern der Dateirechte verwenden. (Wie Sie das bequem von Ihrem FTP-Client aus machen können, ist weiter unten beschrieben)
Die Syntax von chmod lautet:
chmod rwxrwxrwx
filename
r = lesen
w = schreiben
x = ausführen
Der Befehl erwartet drei 3er-Tupel welche die Zugriffsrechte für die "Gruppen"
angeben: [rwx][rwx][rwx]
Die Gruppen von rechts nach links:
Alle Benutzer
Alle Benutzer der gleichen Gruppe wie Besitzer
Nur der Besitzer
Die Tupel kann man sich auch in Binärdarstellung vorstellen:
chmod [rwx][rwx][rwx]
wäre äquivalent mit
chmod [111][111][111]
bzw. in dezimalschreibweise mit
chmod [7][7][7]
und da haben wir auch schon den fertigen chmod
Befehl um "allen" Zugriff auf die Dateien zu geben:
chmod 777 jnl_recipients
(Die benötigten Dateirechte hängen von der Webserver-Konfiguration
ab. Wenn Sie misstrauisch sind, und dem Skript nicht die vollen Rechte (777)
geben wollen, erhöhen Sie die Rechte langsam, bis das Skript fehlerfrei
läuft!)
Die meisten FTP-Clients, wie z.B. WS-FTP
unterstüzen den chmod-Befehl bequem
von der Oberfläche aus. Man muss bei WS-FTP z.B. nur mit der rechten
Maustaste auf eine Datei im Ftp-Fenster klicken, dann auf chmod, dann die zu
setzenden Attribute usw...
Eine kurze Beschreibung von Manfred Stumpf finden Sie hier: http://www.jtr.de/scripting/php/howtos/phpmail_on_iis.html
Zur Zeit teste ich das Skript auf einer meiner Websiten mit ca. 5100 Empfängern im CSV-Format. Theoretisch müsste das Skript in Abhängigkeit von der verfügbaren Rechenzeit/-leistung ihres Webservers und der Datenquelle problemlos mehrere 1000 Einträge verwalten können. Für größere Newsletter bietet sich auf jeden Fall die Verwendung von MySQL als Datenquelle an...
Jax Newsletter speichert nur einen Eintrag, bzw. zeigt immer den
gleichen Eintrag an!
Sie haben wahrscheinlich nicht die Beispieltabellen
(im manuals-Verzeichnis) verwendet, oder vergessen
das Feld "id" (Pflichtfeld!!)
anzulegen
Ich benutze Lycos als Provider. Wenn sich Benutzer in den Newsletter eintragen, bekommen Sie die Aktivierungs-e-mail erfolgreich zugestellt. Der Link in dieser Mail führt jedoch auf eine ungültige Seite...Was kann ich dagegen tun?
Auf dem Lycos-Webspace wird seltsamerweise die PHP-Variable $SCRIPT_NAME nicht korrekt gesetzt. In diesem Fall ändern Sie am besten die entsprechende Zeile (377 ?) in der Datei validation.inc.php von
$script_url = "http://" . $SERVER_NAME . implode("/",$script_path_dummy ) . '/' ;
auf die korrekte URL:
$script_url = "http://members.lycos.de/fuzzy/newsletter/";
Wenn der Datenstrom zum Browser während des Sendens unterbrochen wird (z.B. wegen eines Proxy-Timeouts), kann es vorkommen , dass nicht alle Empfänger die Nachricht erhalten. Ausserdem kann es bei größeren Mailinglisten zu starker Zeitverzögerung kommen.
Im Moment habe ich noch keine echte Lösung für das Problem, aber (seit v1.4) kann sich das Skript den letzten Empfänger vor dem TimeOut zu merken, so dass Sie das Senden später an dieser Stelle fortsetzen können.
Sollten Sie Fehler finden, oder haben Sie Fragen oder Verbesserungsvorschläge, zögern Sie bitte nicht, und wenden Sie sich einfach direkt an mich!
![]()
RTFM !!! :
Leider habe ich keine Zeit kostenlosen Installationssupport für dieses
Programm zu leisten! Wenn Sie ein Problem haben dessen Lösung durch diese
Dokumentation beschrieben oder ausreichend angedeutet wird, sehe ich mich aus
Zeitgründen gezwungen, Ihre e-mail-Anfrage komplett zu ignorieren...
Bitte sparen Sie mir und sich die Zeit und lesen Sie sich vor dem Kontakt unbedingt die Dokumentation vollständig durch! Hinweise auf fehlende Erklärungen in dieser Dokumentation nehme ich jedoch gern entgegen...
Berlin, 13.03.2004 - Jack (tR)