Versionshistorie
Neu in Version 3.5 (vom 3.3.2012)
- Individuelle Formularfelder:
Es ist nun möglich, individuelle Formularfelder zu definieren.
- E-Mails als Datei abspeichern:
Form E-Mail kann nun die E-Mails nach dem Versenden auch noch auf dem Server als Datei abspeichern.
$only_post
entfernt:
Die Konfigurations-Variable $only_post
wurde entfernt, da ich dahinter keinen Sinn mehr sehe. Form E-Mail kann damit nur noch über die HTTP-Zugriffsmethode POST aufgerufen werden.
- Andere E-Mail-Adressen-Überprüfung:
Die E-Mail-Adressen werden jetzt mit den Filter-Funktionen von PHP geprüft. Damit fällt auch die Konfigurations-Variable $no_tld
weg.
Form E-Mail benötigt damit mindestens PHP 5.2.0, um zu funktionieren! Ältere PHP-Versionen werden nicht mehr unterstützt!
- URL-Vervollständigungscode funktioniert richtig:
Der URL-Vervollständigungscode funktioniert nun bei relativen URLs ohne Verzeichnisangabe so, wie es ursprünglich gedacht war.
- Template-Klasse aktualisiert:
Die Template-Klasse wurde auf Version 2.5 aktualisiert.
- Verschiedene Änderungen am Quellcode:
Es wurden am Quellcode verschiedene Änderungen durchgeführt. Diese sind zwar für den normalen Anwender nicht sichtbar, sollen aber trotzdem erwähnt werden:
- Der Programmierstil wurde geändert.
- Es wurden verschiedene Variablenreferenzen aufgelöst.
htmlentities()
wurde durchgehend durch htmlspecialchars()
ersetzt.
- Neue Lizenz:
Form E-Mail ist nun unter den Bedingungen der Artistic License 2.0 lizenziert.
Neu in Version 3.4.1 (vom 27.2.2011)
- Captcha-Probleme bei aktiviertem
register_globals
:
Bei aktiviertem register_globals
war der Captcha-Schutz nutzlos. Es wurde jeder Wert akzeptiert. Danke an Stefan Körner für den Hinweis!
- Beispiel-Formular:
Es wurde eine Datei beigelegt, die ein Beispiel-Formular zur Nutzung mit Form E-Mail darstellt.
Neu in Version 3.4 (vom 25.1.2009)
- Captchas:
Es ist nun möglich, im Mail-Formular sog. Captchas anzuzeigen. Es handelt sich hierbei um einen zufälligen Text in einem Bild, der in ein Formularfeld eingegeben werden muss, um das Formular zu versenden.
- Copyright und Lizenz:
Im Kopf der PHP-Dateien befindet sich nun eine Copyright-Angabe sowie ein Hinweis, dass für Form E-Mail die Artistic License 1.0 gilt.
Neu in Version 3.3a (vom 14.4.2007)
date_default_timezone_set()
unter PHP 4:
Unter PHP 4 existiert date_default_timezone_set()
nicht, weshalb Form E-Mail dort nicht lauffähig war. Jetzt wird vor der Anwendung dieser Funktion geprüft, ob sie auch existiert.
Neu in Version 3.3 (vom 11.4.2007)
- Umgebungsvariablen im Mailtext:
Man kann jetzt Server-Umgebungsvariablen im Mailtext unterbringen. Welche Variablen das sein dürfen, lässt sich über das neue Konfigurations-Array $allowed_envs
festlegen. In der Mail-Template kann man dann Variablen unterbringen, die mit ENV_
beginnen und dann durch die entsprechende Umgebungsvariable ersetzt werden.
- Zeichensatz konfigurierbar:
Der Zeichensatz, mit dem die Mails codiert werden, kan nnun durch die neue Konfigurationsvaraible $charset
eingestellt werden.
- Zeitzonen konfigurierbar:
Neuere Versionen von PHP geben immer (bei entsprechender Einstellung zumindest) eine Fehlermeldung aus, wenn keine Standard-Zeitzone definiert wurde. Form E-Mail definiert jetzt als Standard-Zeitzone Europe/Berlin, das lässt sich aber durch die neue Konfigurationsvariable $timezone
beliebig anpassen.
- Template-Klasse aktualisiert:
Die Template-Klasse wurde auf die aktuelle Version 2.0 aktualisiert. Von den neuen Methoden wird Gebrauch gemacht.
- patShaping gestrichen:
Im Mailheader und in den Kopfkommentaren der Scripts steht jetzt nur noch Form E-Mail, das Wort patShaping wurde entfernt.
Neu in Version 3.2.2 (vom 9.6.2006)
- Zeilenumbrüche ersetzen:
Sämtliche Zeilenumbrüche im Header und im Text der E-Mail werden nun durch die Zeilenumbruchsfolge des Betriebssystems ersetzt, um Anzeigeprobleme in manchen E-Mail-Programmen (z.B. bei The Bat!) zu beheben (eigentlich sind es keine Probleme, die Zeilenumbrüche werden so dargestellt, wie das Programm sie zu Gesicht bekommt).
- Anderer Statuscode bei Redirect nach Versand:
Wenn nach dem Versand einer E-Mail ein Redirect ausgelöst werden soll, wird nun der Status-Code 303 an den Client zurückgegeben, damit dieser mit GET auf die URL zugreift.
{}
vs. []
:
Eigentlich planten ja die PHP-Entwickler, dass man mit {}
auf einzelne Zeichen einer Zeichenkette zugreifen kann und []
nicht mehr verwendet werden soll. Da das aber keiner gemacht hat, soll {}
in PHP 6 wieder rausfliegen (siehe http://www.php.net/~derick/meeting-notes.html#cleanup-for-vs) und man soll wieder []
. Form E-Mail wurde entsprechend angepasst, die Änderung nach {}
war ohnehin unvollständig.
Neu in Version 3.2.1 (vom 18.6.2005)
- Keine "Notices" mehr:
Form E-Mail sollte nun auch ordnungsgemäß funktionieren, wenn für error_reporting
der Wert E_ALL
eingestellt wurde.
- Template-Klasse aktualisiert:
Die Template-Klasse wurde auf Version 1.5a aktualisiert.
- Verschiedene Änderungen:
Es wurden verschiedene kleine Änderungen durchgeführt:
- Die Funktion
sizeof()
wurde durch count()
ersetzt. sizeof()
ist nämlich ein Alias - und von der Verwendung von Aliasen wird abgeraten.
- PHP bietet aus Gründen der Abwärtskompatibilität an, auf einzelne Zeichen einer Zeichenkette wie auf die Elemente eines Arrays zuzugreifen. Das wird jetzt nicht mehr gemacht, stattdessen wird die moderne Variante mit geschweiften Klammern verwendet.
- Wo es angebracht war, wurden doppelte Anführungszeichen durch einfache ersetzt.
Neu in Version 3.2 (vom 29.8.2004)
- Redirect nach Versand:
Form E-Mail lässt sich jetzt wahlweise so einstellen, dass es nach dem Versand der Mail per HTTP-Redirect auf eine andere Seite umleitet.
Achtung: Ich habe zwar etwas eingebaut, was hier relative URLs in absolute umwandelt, um dem HTTP-Standard gerecht zu werden, aber ich garantiere nicht, dass diese Umwandlung immer einwandfrei funktioniert. Seien Sie bei relativen URLs also sehr vorsichtig und verwenden Sie im Fehlerfall absolute.
- Maximallängen:
Zusätzlich zu den Mindestlängen aus Version 3.1 lassen sich für Name, Betreff und Text auch Maximallängen angeben.
- Absender-Adressen ohne Top-Level-Domain:
Wenn man die neue Option $no_tld
auf "1" setzt, kann man nun als Absender auch eine E-Mail-Adresse angeben, die keine Top-Level-Domain hat.
- Konfiguration abgespalten:
Die Konfigurationsvariablen wurden in die Datei config.php ausgelagert, was für etwas mehr Übersicht sorgt.
- Template-Klasse aktualisiert:
Die Template-Klasse wurde auf die aktuelle Version 1.3 aktualisiert.
- Kleine Korrekturen:
Am Quelltext wurden kleinere Korrekturen vorgenommen.
Neu in Version 3.1 (vom 20.1.2004)
- Immer noch Bug in E-Mail-Adressen-Überprüfung:
Der reguläre Ausdruck, der die E-Mail-Adressen auf syntaktische Gültigkeit überprüft, war immer noch fehlerhaft. Es gab immer noch E-Mail-Adressen, die das Script überlasten konnten.
- Mindestlängen:
Es ist jetzt möglich, für Name, Betreff und Text Mindestlängen anzugeben.
- Alias-Empfänger:
Es ist nun möglich, über die Formulardaten einen einer oder mehreren Adressen zugeordneten Wert an Form E-Mail zu übergeben. An die dem Wert zugeordneten Adressen wird die Mail dann gesendet.
- Template-Klasse:
Form E-Mail verwendet nun auch die Template-Klasse. Das sorgt für Übersicht und für eine bessere Erweiterbarkeit.
Neu in Version 3.0 (vom 1.9.2003)
- Komplett neu programmiert:
Form E-Mail 3.0 wurde von Grund auf neu programmiert, damit möglichst viele Fehler, die ich anfangs machte (Form E-Mail war eines meiner ersten Scripts) ausgemerzt werden konnten.
$friendly_sender
erweitert:
Die Option $friendly_sender
kann jetzt den Wert "2" annehmen. Dadurch erscheint zusätzlich der Name des Absenders im E-Mail-Programm. Sollte der Name Zeichen enthalten, die nicht aus dem ASCII-Zeichensatz stammen, wird er mit Base64 codiert (s.u.).
- Betreffcodierung erneuert:
Die Betreffcodierung arbeitet nun hoffentlich endlich zuverlässig, da sie nun Base64 verwendet. Mit der ursprünglichen Quoted-Printable-Codierung gab es Probleme.
- Mehrere Empfänger:
Es ist nun möglich, mehrere Empfänger für die Mail anzugeben.
- Referer-Überprüfung:
Der HTTP-Referer (also sozusagen die Seite, von der das Script aufgerufen wurde) kann nun auf Wunsch einem einfachen Test unterzogen werden: Wenn sich die Host-Angabe nicht in einer im Script definierten Positiv-Liste befindet, wird Form E-Mail mit einer Fehlermeldung beendet. Das ist nützlich, um dafür zu sorgen, dass Form E-Mail nicht von fremden Homepages ausgenutzt wird.
- Auf Wunsch nur POST:
Form E-Mail lässt sich mit der neuen Option $only_post
so einstellen, dass es nur mit der HTTP-Zugriffsmethode POST aufgerufen werden kann.
- Vorlagen:
Es wird nun mit Vorlagen gearbeitet. So kann man jetzt den Text der Mail mit einer Vorlage steuern und die Formularfelder bei einem Fehler mit den bereits eingegebenen Daten vorbelegen lassen.
- Neue Zeitformatierung:
Die Uhrzeit wird nun mit strftime()
formatiert, was mehr Freiheiten zulässt. Leider gibt es hier bei neueren PHP-Versionen Probleme, da die Wochentage und Monatsnamen trotz deutscher Spracheinstellungen englisch werden.
Die Liste der Änderungen bis zur Version 3.0 finden Sie auf der Form E-Mail-Infoseite!
ReadMe-Datei
© 2002-2012 Patrick Canterino