Denkfehler bei Mail Versand

forum-user

Mitglied
Wie oft besprochen, aber dazu habe ich keine Lösung gefunden.
Habe mir ein Kontakt Form gebaut was im UTF-8 Satz erstellt wird. Wenn ich jedoch mit Sonderzeichen und Umlauten was versenden will kommt alles möglich nur nicht das was ich will.
Anbei mal mein Header für die mail Funktion

PHP:
            // Betreff
            $subject = 'Kontaktanfrage';
            // Nachricht 
		$message = $vorname.' '.$nachname."\r\n";
		$message.= 'Telefon: '.$telefon."\r\n";
		$message.= $mail_text;
            // Baut Header der Mail zusammen 
               $head  = ("From: " . $absender . "\r\n");
               $head .= ("Reply-To: " . $email . "\r\n");
               $head .= ("Return-Path: " . $email . "\r\n");
               $head .= ("X-Mailer: PHP/" . phpversion() . "\r\n");
               $head .= ("X-Sender-IP: " . $REMOTE_ADDR . "\r\n");
               $head .= ("MIME-Version: 1.0" . "\r\n");
	       $head .= ("Content-Type: text/plain; charset=utf-8\n");
		 $head .= ("Content-Transfer-Encoding: 8bit"."\r\n");			
                   // Verschicken der Mail 
                  if(! mail($empfaenger, $subject, $message, $head)){
				      throw new Exception ('Es konnte keine eMail versendet werden!');
				  }

Kann mir einer meinen Fehler mal verdeutlichen?

PS Auch wenn ich auf ISO umstelle, bekomme ich keine umlaute angezeigt.


Nachtrag:
Im Mailheader befinden sich die Angaben:
X-Mailer: PHP/5.2.5
X-Sender-IP: 87.***.***.**
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
 
Zuletzt bearbeitet:
Hi,

hast du dein PHP-Script, indem die Texte definiert werden, auch als UTF-8 vorliegen?
Ansonsten könntest du mal die Funktion utf8_encode über deinen Body laufen lassen.

Gruß,
BK
 
Der Doctype an sich sagt aber nicht unbedingt die Zeichenkodierung des *.php-file.
Es ist erforderlich, dass jedes file ebenso in der identischen Zeichenkodierung abgespeichert wird.
Welchen Editor verwendest du?

ps: kann man hier auch irgendwie Bilder einfügen?
Dann würde ich dir ein Bsp. zeigen.
 
Zuletzt bearbeitet:
Hi,

wenn du das PHP-Script aufmachst, musst du im Menü die Kodierung auf UTF-8 ohne BOM stellen, siehe angehängten Screenshot.

Das "Encode in UTF-8" stellt die Konvertierung einfach um, das "Convert to" wandelt eine ASCII-Datei in UTF-8 um. Somit gehen bei zweiterem nicht die Sonderzeichen flöten ;)

Grüße,
BK
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    20,3 KB · Aufrufe: 10
Hi Bratkartoffel, danke für den Hnweis, aber dies ist bedacht. Jedoch leider nicht die Lösung meines Problemes. Wenn ich das Mail Form auf dem Server teste, sendet es mir die Mail soweit ganz normal bis auf die deutschen Umlaute.
 
Hallo Guenter024, die Daten werden aus einem Formular geholt, welches den Doctype UTF-8 führt. Wenn man nun auf senden klickt, werden die daten an die Mail() Funktion gesendet, welche mit den oben genannten Header erweitert wird.
 
Zurück