Tach!
das mit der headerzeile versteh ich nicht ganz. wie kann man da was manipulieren?
Der mail()-Parameter $additional_headers verlangt vollständige Headerzeilen, und die mit CRLF getrennt. In deinem Fall bildest du die Zeile so:
$header .= 'From:' . $name . '<' . $email . '>';
Wenn dir nun zum Beispiel in $_POST['complete_name'] (= $name) jemand den Wert
foo
Bcc: Liste mit Adressen,
schickt, dann sieht dein Header so aus:
From:foo
Bcc: Liste mit Adressen,<und noch die adresse aus $email>
Und die Einträge in der Adressenliste bekommen nun von deinem Server den allerfeinsten Spam zugeschickt.
Also solltest du prüfen, ob in den Werten für Name und Email, die du in die From-Zeile einfügen wolltest, Zeilenumbrüche drin sind. Und das besonders, wenn du nur einzeilige Eingabefelder vorgesehen hast. Du kannst dann das Script auf der Stelle beenden lassen (die() oder exit), denn in dem Fall brauchst auch du keine Mail zugestellt bekommen - es sei denn, du willst wirklich die Spamversuche sehen.
Siehe auch http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel/erkennen_und_behandeln#E-Mail
dedlfix.