PHP-Mail-Chute V2.0 - Dokumentation

(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

Inhaltsverzeichnis

  1. Einleitung
  2. Installation
  3. Funktionen
  4. Kontakt

1 Einleitung

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:

mail-chute2.php
Die PHP-Mail-Chute-Bibliothek
mailer2.php
Das Kontaktformular zum Aufruf im Browser
e-mail-template
Die Vorlage der zu versendenden E-Mail. Platzhalter werden durch die Formulareingaben ersetzt.
LICENSE
Eine Kopie der GNU Lesser General Public License V2.1
LIESMICH.html
Die Datei, die Sie gerade lesen

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.

2 Installation

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:

mail-chute2.php
Aus dem vorliegenden PHP-Mail-Chute-Paket
formitude.php
Aus dem Formitude-Paket
mail-drudge.php
Aus dem Paket Mail-Drudge

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:

mailer.php
Die Formularseite aus dem PHP-Mail-Chute-Paket
formitude.css
Das Stylesheet aus dem Formitude-Paket

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.

3 Funktionen

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.

4 Kontakt

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!

Anschrift des Autors

Carsten Meier
Under de Diek 19
D-26757 Borkum
Deutschland

Website: Internal Scripts - Frei verfügbare PHP-Skripte
E-Mail: [cm at internalscripts dot de]

Fragen zur Benutzung des Skripts bitte im Forum stellen!