echo $begrüßung;
Die ankommenden POST-Daten werden zunächst validiert.
Nun muss ich aber feststellen, dass KEIN Inhalt ($strMailtext) erzeugt wird. Und das schein an der Validierungsfunktion zu liegen,
Prüfe das bitte nach. Vermutungen bringen nichts, wenn man sie nicht nachprüft. Was gibt die Funktion zurück? Was erzeugen die einzelnen Zwischenschritte innerhalb der Funktion?
Bin auch für sonstige Hinweise, was z.b. die Validierung angeht dankbar.
[code lang=php]
function valid_input(&$var) {
if(is_string($var)) {
$var = strip_tags($var);
$var = htmlspecialchars($var);
$var = preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im", "", $var); // ##### VERHINDERT HEADERMANIPULATION
$var = stripslashes($var);
$var = trim($var);
}
stripslashes() sollte als erstes ausgeführt werden und auch dann nur, wenn die Magic Quotes eingeschaltet sind: get_magic_quotes_gpc(), Disabling Magic Quotes
htmlspecialchars() ist keine Validierungsfunktion. Maskierungen sollten erst zum Ausgabemedium hin vorgenommen werden, nicht schon bei der Demaskierung und Validierung der Eingangsdaten.
$strMailtext .= $strName.": ".$value_array."\n";
Header werden mit CRLF abgeschlossen, nicht nur mit LF. Siehe PHP-Handbuch-Seite zu mail() und die dort erwähnte RFC.
echo "$verabschiedung $name";