<?php
############################################################################
#
# phpmailer
#
############################################################################
sendEmail() ;
############################################################################
# Konfiguration
############################################################################
function sendEmail(){
// Zu Testzwecken
// 1 => Der Inhalt der eMail wird in eine Textdatei geschrieben (wenn Sie offline testen möchten)
// 0 => Die eMail wird verschickt
$testOffline = 0 ;
// Geben Sie hier ein gültige eMail-Adresse von sich an
// Diese eMail-Adresse wird dann auch als Absender-eMail-Adresse angezeigt, wenn die nachfolgende
// Option nicht aktiviert (also auf 1 gesetzt) wird.
// (Dies ist bei manchen Providern Voraussetzung, um Spamming zu verhindern)
$emailFrom = "[email protected]" ;
// eMail-Adresse des Versenders als Absenderadresse nutzen (um beispielsweise direkt anworten zu können)
// 1 => Ja | 0 => Nein
$useSendersEmail = 1 ;
// Geben Sie nachfolgend den Namen des Formularfeldes an, in das der Absender seine
// eMail-Adresse einträgt (Voreinstellung ist: eMail || BEACHTEN SIE GROSS- & KLEINSCHREIBUNG!!!!).
// Die Eingabe ist nur dann notwendig, wenn Sie die vorangehende Option ($useSendersEmail) auf "1" setzen!
$mailFromField = 'eMail' ;
// SPAM-MISSBRAUCH-SCHUTZ
// Aktivieren Sie den Schutz vor einem Missbrauch des Formmailers durch Spammer!
// Genauere Informationen finden Sie in der README.txt
// 1 => aktiviert | 0 => NICHT aktiviert
$spamProtect = 1 ;
// Empfänger eMail-Adressen, Subject, Zielseite nach dem Versenden der eMail
// Soll KEINE Kopie der eMail an eine zweite Adresse geschickt werden, so löschen Sie die "Dummy"-eMail-Adresse
// "kopie@ihre_domain.de", so daß nur noch die beiden Hochstriche stehen bleiben ("").
// Ansonsten geben Sie dort bitte eine gültige eMail-Adresse ein.
// Genauere Informationen finden Sie in der README.txt
$send_dat = array(
"dat1" => array("[email protected]", "", "Kontakt über die Internetseite", "./danke.htm"),
#"dat2" => array("", "", "", ""),
#"dat3" => array("", "", "", ""),
);
// Felder aus dem Formular, die NICHT mit der eMail übertragen werden sollen.
// TIPP: Verwenden Sie grafische Buttons als "Absendeknopf", so werden die Koordinaten
// der Klickstelle mit der eMail verschickt. Um diesen (unschönen) Effekt zu umgehen,
// geben sie für den grafischen Button name="senden" ein.
$ignoreFormFields = array('send_index', 'senden', 'submit', 'check_form','Submit','senden_y','senden_x');
############################################################################
# Programmablauf (ab hier nichts mehr ändern)
############################################################################
// Datum (+deutsche Tage)
$name_tag = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
$day = $name_tag[date('w')];
$year = date('Y');
$n = date('d');
$month = date('m');
$time = (date('H:i'));
// Prüfung, welches send_dat-Array zum senden verwendet werden soll
// Default: dat1
!empty($_POST['send_index']) ? $st = $_POST['send_index'] : $st = 'dat1';
// Versende Daten
$mailto = $send_dat[$st][0]; // Ziel-eMail-Adresse
$mail_cc = $send_dat[$st][1]; // 2. Ziel-eMail-Adresse (Kopie)
$subject = $send_dat[$st][2]; // Subjekt
$redirect = $send_dat[$st][3]; // Zielseite nach eMailversand
// Formularfelder auslesen und in die eMail "einsetzen"
// Zu ignorierende Felder werden NICHT eingesetzt
while (list($fieldName, $fieldValue) = each($_POST)) {
if (in_array($fieldName, $ignoreFormFields) || empty($fieldValue)) continue;
$message .= "== $fieldName =====\r\n$fieldValue\r\n\r\n\r\n";
}
// Funktion zum prüfen des Inhaltes aufrufen
$message = cleanContent($message, $spamProtect);
// Datum und Zeit voranstellen
$message = ":: Gesendet am $day, den $n.$month.$year - $time Uhr ::\r\n\r\n$message";
// Weiterleitung auf eine andere Seite
Header("Location: $redirect");
// Absender-eMail-Adresse
($useSendersEmail == 1) ? $emailFrom = $_POST[$mailFromField] : $emailFrom = $emailFrom;
$header = "From: $emailFrom";
// Kopie schicken
if (!empty($mail_cc)) {
$header .= "\r\n";
$header .= "Cc: $mail_cc";
}
// eMail verschicken
if ($testOffline == '0') {
$testmail = fopen('./_private/email.txt', 'w+');
fwrite($testmail, $message);
fclose($testmail);[/COLOR]
@mail ($mailto, $subject, $message, $header) || die('<b>Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut </b>');
}
// eMail zum testen in ein Textfile schreiben
if ($testOffline == '1') {
$testmail = fopen('./_private/email.txt', 'w+');
fwrite($testmail, $message);
fclose($testmail);
}
}
############################################################################
# Inhalte "bereinigen"
############################################################################
function cleanContent($content, $spamProtect) {
$content = str_replace('<br>', "\r\n", $content);
$content = stripslashes(strip_tags($content));
// Spam-Missbrauch-Schutz aufrufen
if($spamProtect == 1) { $content = checkContent($content); }
return $content;
}
############################################################################
# Spam-Missbrauch-Schutz
############################################################################
function checkContent($tpcontent) {
// kritische Zeichen entfernen
$checkit = array("/bcc\:/i","/cc\:/i","/to\:/i");
$tpcontent = preg_replace($checkit, "", $tpcontent);
// Script-Abbruch bei eindeutigem Spamversuchen
if (preg_match("/(MIME\-Version\:|Content\-Type\:)/i", $tpcontent)) {
die('Ihre Angaben enthalten kritische Zeichen! Aus Gründen des Spamschutzes wird Ihre Nachricht nicht versendet.');
}
if (empty($tpcontent)) {
die('Es wurden keine Angaben gemacht! Ein leeres Formular wird nicht versendet.');
}
return $tpcontent ;
}
?>