So, nachdem ich jetzt seit Stunden herumbropiere, habe ich _diesen_ Code als funktionierendes Ergebnis:
$empfaenger="other@example.com";
$betreff="Bitte bestätigen Sie Ihre Registrierung";
$text="Hallo !\r\rSie haben sich gerade bei uns registriert. Österreich ist frei.";
$header.="MIME-Version: 1.0\n";
$header.="Content-type: text/plain; charset=utf-8\n";
$header.="From: Max Mustermann <mustermann@example.com>\n";
mail($empfaenger,utf8_decode($betreff),$text,$header, "-fcontact@example.com");
Ich bekomme die Mail dann genau so, wie ich möchte. Der Mailinhalt wird korrekt dargestellt (durch das Content-type: text/plain; charset=utf-8\n) und die Betreffzeile benfalls (durch das utf8_decode($betreff)).
Ich verstehe nur eines nicht. Laut der von dedlfix empfohlenen Seite _muss_ bzw. _soll_ man auch eine Content-Transfer-Encoding Angabe machen. Wenn ich den obigen Code jetzt um diese Angabe erweitere,
$empfaenger="other@example.com";
$betreff="Bitte bestätigen Sie Ihre Registrierung";
$text="Hallo !\r\rSie haben sich gerade bei uns registriert. Österreich ist frei.";
$header.="MIME-Version: 1.0\n";
$header.="Content-type: text/plain; charset=utf-8\n";
$header.="Content-Transfer-Encoding: 8bit";
$header.="From: Max Mustermann <mustermann@example.com>\n";
mail($empfaenger,utf8_decode($betreff),$text,$header, "-fcontact@example.com");
dann steht plötzlich bei der eingetroffenen Mail als Absender nicht mehr Max Mustermann und mustermann@example.com als Adresse, sondern einfach nur noch die mit dem " -f " angegebene Adresse contact@example.com.
Fragen:
1.) _Muss_ ich diese Content-Transfer-Encoding - Angabe machen? Oder ist es auch OK, wenn ich es weglasse?
2.) Wieso wird plötzlich die header-Angabe zum Absender ignoriert, wenn Content-Transfer-Encoding mit angegeben wird?
MfG
Gustav Gans