https://www.php.net/manual/de/function.mail.php sagt:
Hinweis:
Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden. Einige UNIX-MTAs (Mail Transfer Agents) (ganz besonders » qmail) ersetzen leider LF durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF verwendet wird). Dies sollte aber nur in Ausnahmefällen geschehen, da es gegen » RFC 2822 verstößt.
Das betrifft WOMÖGLICH Dein Implode. Hat Dein Provider eine Anleitung veröffentlicht?
mail( "rem**@***.de", "Test", "von mail_an_empfaenger", implode("\r\n", $headers) );
$headers = [];
$headers['MIME-Version'] = "1.0";
$headers['Content-Type'] = "text/html; charset=UTF-8";
$headers['From'] = "Veranstaltungskalender remso.eu <os*****h@re*****u>";
mail( "rem**@***.de", "Test", "von mail_an_empfaenger", $headers);
hast Du versucht?
Und warum versendeste Du das als HTML-Mail? Ist doch nur Text. Und hätte, sofern es raus geht, damit gleich mehrere Merkmale vom Spam. Einer ist der fehlende alternative Text-Teil.
Du bist also schon schlauer, wenn Du
$headers = [];
$headers['From'] = "Veranstaltungskalender remso.eu <os*****h@re*****u>";
mail(
"rem**@***.de",
"Test",
"von mail_an_empfaenger",
$headers
);
oder
mail(
"rem**@***.de",
"Test",
"von mail_an_empfaenger",
null,
"-fos*****h@re*****u"
);
versuchst. Wenn man solchen Problemen auf den Grund will, dann muss man alles rauswerfen, was die Sache notlos kompliziert macht, fügt - wenns dann geht - seine Extras schrittweise hinzu und schaut zu bei welchen die Sache dann crasht.