PHP email() führt zu Filterfehler bei Arcor

K

kunstler

Hallo zusammen,

programmiere gerade ein relativ einfach gestricktes Bestellformular, das dann zwei Emails mittels email() versendet. Die eine an mich, die andere an den Kunden.

Funktioniert auch alles einwandfrei, d.h. die Emails kommen richtig an, auch im richtigen Format etc. (zumindest bei web.de und in MS Outlook).

Schickt man damit nun eine Email an eine ...@arcor.de Adresse und möchte die Email dann dort über deren Webmail anschauen, dann kommt als erstes:

"Die HTML-Ausgabe wird aus Sicherheitsgründen unterdrückt!"

Ok, nun kann man ja auf "HTML-Text darstellen" klicken, und dann sollte die Email eigentlich angezeigt werden, zumindest funktioniert das sonst immer so.

Bei meinen mittels php email() gesendeten Mails kommt dann aber immer die Fehlermeldung "Filterfehler (fehlerhafter Code) !"

Nachdem die gleiche Mail an arcor nun in Outlook angeschaut wird, klappt wieder alles perfekt.

Mein Fragen:
+ Mache ich da einen Fehler bei der Programmierung oder liegt das an Arcor, d.h. ich kann eh nichts dran ändern?
+ Welche Bestandteile muss die Mail enthalten, um nicht als fehlerhaft gebrandmarkt zu werden?
+ Weiß jemand, ob das Problem auch noch bei anderen Emailprovidern auftritt?

Hier mal ein paar Infos zum Quellcode:

PHP:
function emailSenden(
           $absender_name,
           $absender_email,
           $empfaenger_name,
           $empfaenger_email,
           $empfaenger_cc,
           $empfaenger_bcc,
           $betreff,
           $nachricht
           ) {

    $absender    = $absender_name." <".$absender_email.">";
    $empfaenger  = $empfaenger_name." <".$empfaenger_email.">";
    
    $header  = "Return-Path:".$absender."\n";
    $header .= "From:".$absender."\n";
    $header .= "Reply-To:".$absender."\n";
    $header .= "Errors-To:".$absender."\n";
    if ($empfaenger_cc != "")
       $header .= "Cc:".$empfaenger_cc."\n";
    if ($empfaenger_bcc != "")
       $header .= "Bcc:".$empfaenger_bcc."\n";
    $header .= "Date:".date('r')."\n";
    $header .= "Mime-Version: 1.0\n";
    $header .= "Content-Type: text/html; charset='utf-8'\n";
    $header .= "Content-Transfer-Encoding: 8bit\n";
    $header .= "X-Sender:".$absender."\n";
    $header .= "X-Mailer:PHP/".phpversion()."\n";
    if (mail($empfaenger, $betreff, $nachricht, $header))
       return 1;
    else
       return 0;
}
 
Zuletzt bearbeitet von einem Moderator:
Ok, hab die Lösung grad selber herausgefunden:

alt:

PHP:
$header .= "Content-Type: text/html; charset='utf-8'\n";
    $header .= "Content-Transfer-Encoding: 8bit\n";

neu (so funktinierts besser):

PHP:
$header .= "Content-Type: text/html;\n";
    $header .= "Content-Transfer-Encoding: 7bit\n";
 

Neue Beiträge

Zurück