Ok, da habe ich mich glaube ich blöd ausgedrückt. Ich verschicke die Mail nicht nur mit einem mail()-Aufruf
Ich habe zwei Extramethoden, die für den Versandt zuständig sind.
In der ersten gebe ich der Mail einem header:
[PHP]
<?php
function create_mail($from,$message,$attachment){
$Trenner = md5(uniqid(time()));
$mail_message = "From: $from";
$mail_message .= "\n";
$mail_message .= "Reply-To: $from";
$mail_message .= "\n";
$mail_message .= "MIME-Version: 1.0";
$mail_message .= "\n";
$mail_message .= "Content-Type: multipart/mixed; boundary=$Trenner";
$mail_message .= "\n\n";
$mail_message .= "This is a multi-part message in MIME format";
$mail_message .= "\n";
$mail_message .= "--$Trenner";
$mail_message .= "\n";
$mail_message .= "Content-Type: text/html; charset=iso-8859-1";
$mail_message .= "\n";
$mail_message .= "Content-Transfer-Encoding: 8bit";
$mail_message .= "\n\n";
$mail_message .= $message;
$mail_message .= "\n\n";
//If attached files, then attached it!
if($attachment) {
$fext = array_pop(explode('.', $attachment[0]));
$mail_message .= "--$Trenner";
$mail_message .= "\n";
$mail_message .= "Content-Type: application/".$fext."; name=".$attachment[0];
$mail_message .= "\n";
$mail_message .= "Content-Transfer-Encoding: base64";
$mail_message .= "\n";
$mail_message .= "Content-Disposition: attachment; filename=".$attachment[0];
$mail_message .= "\n\n";
$mail_message .= chunk_split(base64_encode($attachment[1]));
$mail_message .= "\n";
$mail_message .= "--$Trenner--";
$mail_message .= "\n\n";
$mail_message .= "--$Trenner";
$mail_message .= "\n";
}
return $mail_message;
}
[/PHP]
In der zweiten wird die Mail dann versendet:
[PHP]
function send_mail($to,$subject,$message,$debug){
if($debug){
$file1="email".$to.".eml";
$output="To:".$to."\nSubject:".$subject."\n".$message;
$handle=fopen($file1,"w+");
fwrite($handle,$output);
fclose($handle);
return "Email are saved as $file";
}else{
mail($to, $subject, "", $message);
return "Email are sended to $to";
}
}
?>
[/PHP]
Ich habe also den header der message hinzugefügt, und gebe ihn nicht wie in deinem Beispiel mit einem Parameter in der mail()-Funktion an.
Sollte doch eigentlich auch gehen oder?
Falls es Jemanden interessiert:
Ich habe die Ursache für das Problem gefunden.
Die E-Mail, die ich verschickt habe, war ja so aufgebaut, dass ich in einer Variable den Email-Inhalt gespeichert habe(Also der HTML Code)
Das Problem war nun, dass der [FONT=‚Times New Roman‘]gesamte [/FONT]Inhalt in einer langen langen Zeile gespeichert war.
Internetbrowser scheinen damit kein Problem zu haben, aber irgendwo beim versenden der mail war das dann wohl doch ein Problem.
Ich schätze mal, dass ein Parser (beim erreichen einer maximalen Zeilenlänge) einen erzwungenen Zeilenumbruch in den Quellcode eingefügt hat. Woher da das ! kommt,… ka ist nur meine Vermutung.
Die Lösung des Problems war es dann einfach, dass ich in die Nachricht mehrere \r\n eingebaut habe.
Jetzt funktioniert alles wie gewollt. :-D;Jump:-D;Jump:-D