Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Sonderzeichen im PHP Mailversand“

Kumaro

Nicht mehr ganz neu hier

Hi Leute ich mal mal wieder ein neues Problem :( ...

Für ein Kontaktformular werte ich eine die eingaben aus und verschicke es per Mail.

Das klappt auch alles soweit ganz gut jetzt hab ich das Problem das Sonderzeichen die eingegeben werden nicht sauber übermittelt , das sind dann also nur kryptische zeichen...

Ich hab schon im netz gesucht aber irgendwie finde ich nichts was funktioniert ich hoffe ihr helft mir weiter.

Hier der Code für den versand:

$nz = chr(13).chr(10);
$an = "kontakt@ga-town.de";
$from = "From: Kontaktformular-ga-town.de"."\n\r";
$datum = "Datum: " .date("j.n.Y").$nz;
$zeit = "Zeit: ".date("H:i").$nz;
$von = "Von: " .$name." <".$email.">".$nz;
$line = $nz."----------------------------------------".$nz;
$Browser= $_SERVER['HTTP_USER_AGENT']; // Browser ermitteln
$IP= $_SERVER['REMOTE_ADDR']; // IP Adresse ermitteln
$logfiles ="Browser : ".$Browser. " IP-Adresse : ".$IP.$nz;
$text = $datum.$zeit.$von.$line.$nachricht.$line.$nz.$logfiles;

// Inhalt überarbeiten um die Zeilenabstände zu erhalten
if ($text > NULL) $text = stripslashes($text)."\n\n";
$text = str_replace("\r\n","\n",$text);
$text ->CharSet = "utf-8";

// Mailheader erstellen
$header = "From: Kontaktformular-ga-town.de\r\n";
$header .= "Content-Type: text/plain; charset=iso-8859-15\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
$header .= "X-Mailer: PHP/" . phpversion(). "\r\n";
$header .= "Importance: Normal\r\n";
//$headers .= "Content-Type: text/html; charset=UTF-8\n";
//$headers .= "Content-Transfer-Encoding: 8bit\n\n";

// Email senden, beende das Skript, wenn es Fehler gibt
if(!@mail($an,$betreff,$text,$header)) {
die("Mail konnte nicht gesendet werden! Bitte versuch es später erneut.");
}



Danke im voraus :)
 
Zuletzt bearbeitet:

Christian

verpeilt & verschallert

AW: Sonderzeichen im PHP Mailversand

Tausche mal die Zeile

$header .= "Content-Type: text/plain; charset=iso-8859-15\r\n";

damit aus:

$header .= "Content-Type: text/plain; charset=UTF-8\r\n";
 
Zuletzt bearbeitet:

Kumaro

Nicht mehr ganz neu hier

AW: Sonderzeichen im PHP Mailversand

Super du bist mein Held :) hatte schon mal
$headers .= "Content-Type: text/html; charset=UTF-8\n";
probiert aber das ging irgendwie nicht ....

Vielen Dank :)
 

stroyer

Aktives Mitglied

AW: Sonderzeichen im PHP Mailversand

Mit $subject='=?$charset?B?'.base64_encode($betreff).'?='; kannst du denk ich auch im Betreff Umlaute machen
 
M

MikayKun

Guest

AW: Sonderzeichen im PHP Mailversand

Das Problem ist auch das genutzte Mailprogramm. Outlook-Versionen können ISO und UTF8 manche aber nur eins von beiden. Wenn das Kontaktformular in UTF-8 ist musst du auch alles andere decodieren.
Mit folgenden Funktionen solltest du dieses Problem leicht lösen können.

utf8_decode ? Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1

utf8_encode ? Encodes an ISO-8859-1 string to UTF-8
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.143
Beiträge
2.581.734
Mitglieder
67.208
Neuestes Mitglied
docschweitzer
Oben