(c) 2006 Carsten Meier
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
PHP-Mail-Chute ist ein in PHP geschriebenes Mail-Formular. Der Empfänger der E-Mails läßt sich dabei aus einer Drop-Down-Liste auswählen. Außerdem können vom Absender Kontaktdaten wie Name, Anschrift, Telefon- und Fax-Nummer, sowie die E-Mail-Adresse angegeben werden.
Bei der vorliegenden Fassung handelt es sich um Version 2.0 vom 24.8.2006. Die jeweils aktuelle Version können Sie auf der PHP-Mail-Chute-Homepage herunterladen. Zur Verarbeitung der Formulardaten und zum E-Mail-Versand werden noch die Bibliotheken Formitude und Mail-Drudge in den Versionen >= 1.4 bzw. >= 1.0.1 benötigt. Diese sind auf den angegebenen Seiten separat herunterzuladen.
Folgende Dateien sind in dem vorliegenden Archiv enthalten:
Es wird PHP >= 4.3.0 benötigt. Das Skript wurde unter PHP 4.3.3 und PHP 5.1.4 mit den Laufzeit-Optionen register_globals off und allow_call_time_pass_reference off getestet.
Zunächst müssen die Bibliotheksdateien aus den verschiedenen Paketen installiert werden. Diese werden in einem beliebigen Verzeichnis innerhalb Ihres PHP-Include-Pfades abgelegt und sind im folgenden aufgelistet:
Danach kopieren Sie bitte die Datei e-mail-template aus dem
PHP-Mail-Chute-Paket an eine beliebige Stelle. Diese enthält die
E-Mail, die später an Sie verschickt wird. Die Platzhalter darin sind jeweils
durch %% umrahmt und werden durch die Formulareingaben des
Benutzers ersetzt.
Abschließend werden die im Browser aufzurufenden Dateien unterhalb Ihres Doc-Root-Verzeichnisses installiert. Diese sind:
In der Datei mailer.php müssen zuvor allerdings noch einige Konfigurationseinstellungen vorgenommen werden. Dazu finden Sie den folgenden Abschnitt am Anfang der Datei, den Sie bitte entsprechend editieren:
define('CHARSET', 'iso-8859-15');
$e_mail_addresses = array('paul@example.com', 'alien@example.com');
$e_mail_names = array('Paul Barker', 'Alien Jourgensen');
$e_mail_labels = array('Paul Barker (bass)', 'Alien Jourgensen (guitar)');
$e_mail_template = 'e-mail-template';
$preface = '<p>Mit dem folgenden Formular können Sie eine Nachricht verschicken.</p>';
Mit CHARSET läßt sich die zu verwendende Zeichenkodierung einstellen. Das Array $e_mail_addresses enthält die Empfänger-E-Mail-Adressen, $e_mail_names die Namen, die den Adressen beim Mail-Versand vorangestellt werden. In dem Array $e_mail_labels sind die zugehörigen Beschriftungen abgelegt, wie sie in der Drop-Down-Liste angezeigt werden. Wird in den Arrays jeweils nur ein Element abgelegt, so wird im Formular an Stelle der Empfänger-Auswahl nur der Name des Empfängers angezeigt.
$e_mail_template enthält den Dateinamen inkl. Pfad der zu versendenden E-Mail-Vorlage. Mit $preface kann zusätzlich ein Einleitungstext zum Formulardialog angegeben werden.
Falls Sie das Aussehen des Formulars noch weiter anpassen möchten, lesen Sie dazu bitte in der Formitude-Dokumentation den entsprechenden Abschnitt. Als Präfix für die IDs wird standardmäßig 'mailchute2_' benutzt. Der Problembehebung beim E-Mail-Versand ist in der Mail-Drudge-Dokumentation ebenfalls ein eigener Abschnitt gewidmet.
Möchten Sie das Mail-Formular in eine von Ihnen erstellte Seite einbetten, so können Sie die in der Datei mail-chute2.php definierten Funktionen auch direkt nutzen. Diese sind im folgenden aufgeführt, die Benutzung wird in der Datei mailer.php demonstriert.
function &mailchute2_create_mailer(
$action, $charset, &$formitudemsgs,
&$msgs, &$addresses, &$names, &$labels, $messagefilename,
$fromaddr = '', $fromname = '', $addparam = '',
$htmlidprefix = 'mailchute2_', $htmlclassprefix = 'formitude_',
$optionidprefix = '_')
Es wird das Mailer-Objekt erzeugt und per Referenz zurückgegeben. Dabei handelt es sich um ein Array das sämtliche Parameter und das Formular enthält. Dabei sind die Argumente $addresses, $names, $labels und $messagefilename identisch mit den bereits weiter oben beschriebenen Konfigurationsoptionen.
Mit $msgs werden die Statusmeldungen festgelegt. Dazu ist bereits das Array $mailchute2_messages_de vordefiniert, welches durch Kopieren und Überschreiben der einzelnen Werte angepasst werden kann. Die verwendeten Schlüssel entnehmen Sie bitte dem Quelltext.
Die Argumente $fromaddr und $fromname bestimmen die Absenderadresse der Mail-Benachrichtigung; bei leeren Werten wird die in der PHP-Konfiguration festgelegte Adresse benutzt. $addparam ist der zusätzliche Wert, der an die mail()-Funktion übergeben wird.
Alle übrigen Argumente werden an die Funktion formitude_create_form() der Formitude-Bibliothek durchgereicht.
function mailchute2_send_mail(&$mailer, &$values)
Versendet eine E-Mail mit den in $values gespeicherten Benutzereingaben. Der Erfolg wird mit einem Wahrheitswert angezeigt.
function mailchute2_perform(&$mailer, $preface = '')
Übernimmt die komplette Ablaufsteuerung des Dialogs und versendet die E-Mail. Bei erfolgreichem Versand wird true, ansonsten false zurückgegeben. $preface ist der bereits oben besprochene Einleitungstext.
Wenn Sie Fragen zu dem Skript stellen, oder einen Kommentar abgeben möchten, können Sie dies im PHP-Mail-Chute-Forum tun. Bitte geben Sie bei Problemen immer die verwendeten PHP- und Skript-Versionen, sowie das verwendete Betriebssystem an!
Unterstützen Sie die Entwicklung weiterer, frei verfügbarer Skripte durch das Setzen eines Links zu http://www.internalscripts.de/ . Vielen Dank!
Fragen zur Benutzung des Skripts bitte im Forum stellen!