Hallo zusammen,
vielen Dank für die tollen Tipps. Das mit dem Ersetzten der Platzhalter war wirklich blöd von mir... *schäm*.
Aber ich habe den Code geändert und unten wieder angehängt. Ist er in dieser Form nun sicher?
Vielen Dank schon mal im Voraus!
Der Peter
===CODE===
<?php
// Erfassung der übermittelten Variablen in "Rohvatiablen"
$emailroh = $_GET['eMail'];
$nameroh = $_GET['Name'];
$nachrichtroh = $_GET['Nachricht'];
// "Verbotene" Zeichen
$verboten = array("<", ">","\n", "\r",chr(34), chr(39));
$neuezeichen = array("<", ">", "", "", """, """);
$verbotentext = array("<", ">", chr(34), chr(39));
$neuezeichentext = arry("<", ">", """, """);
$email = str_replace($verboten, $neuezeichen, $emailroh);
$name = str_replace($verboten, $neuezeichen, $nameroh);
$inhalt = str_replace($verbotentext, $neuezeichentext, $nachrichtroh);
// Empfänger definieren
$empfaenger = 'mail@example.org';
// Betreff definiert
$betreff = 'Ein Besucher hat das Kontaktformular auf der Webseite ausgefüllt';
// Nachrichtentemplate definieren
$nachricht = <<<EOT
<html>
<head>
<title>Ein Besucher hat das Kontaktformular ausgefüllt</title>
<style type="text/css">
td { padding: 5px; border-style: solid; border-color: black; width: 250px; }
th { padding: 5px; border-style: none; text-align: left; }
table { border-style:none; }
</style>
</head>
<body>
<p>Sehr geehrter Admin,<br> <br>die folgende Nachricht wurde am *Datum* um *Zeit* mit dem Kontaktformular verfasst. Der Verfasser hat folgende IP: <b>*IP*</b></p>
<p><i>Die Daten der einzelnen Felder:</i><br>
<table rules="rows">
<tr>
<th>Name:</th>
<td >*Name*</td>
</tr>
<tr>
<th>eMail:</th>
<td><a href="mailto:*eMail*">*eMail*</a></td>
</tr>
<tr>
<th>Nachricht:</th>
<td>*Nachricht*</td>
</tr>
</table>
</p>
<p><br>Mit freundlichen Grüßen<br><i>Der Formmailer</i></p>
</body>
</html>
EOT;
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// zusätzliche Header
$header .= 'To: Max Mustermann <mail@example.org>' . "\r\n";
$header .= 'From: Formmailer <noreply@meine-domain.de>' . "\r\n";
$header .= 'Cc: kollege@kollege.de' . "\r\n";
// Standard-Klauseln aus dem eMail-Template durch geprüfte Nachrichtenelemente ersetzten
$ende = str_replace("*eMail*", $email, $nachricht);
$ende = str_replace("*Name*", $name, $ende);
$ende = str_replace("*Nachricht*", $inhalt, $ende);
$ende = str_replace("*IP*", $_SERVER["REMOTE_ADDR"], $ende);
$ende = str_replace("*Datum*", date("j.m.Y"), $ende);
$ende = str_replace("*Zeit*", date("H:i"), $ende);
// E-Mail senden
$erfolg = mail($empfaenger, $betreff, $ende, $header);
// Wenn es einen Fehler gibt, wird eine Fehlermeldung angezeigt
if($erfolg == TRUE)
{ Header("Location: http://meine-domain.de/danke.html"); }
else
{ echo "Fehler beim Versenden der eMail"; }
?>