Hallo Gemeinde
Nach langer Abstinenz bin ich wieder mal da. Natürlich mit einem Problem...
Ich habe ein Kontakformular, welches mit Probleme mit den Sonderzeichen macht. Im Posteingang bei Gmail oder sonst einem Webaccount sieht alles super aus. In Outlook werden die Sonderzeichen aber nicht korrekt dargestellt:
PHP-Code:
<?php
//****************************************
//edit here
$targetEmail = 'mail@mail.com';
$messageSubject = 'Message from web-site';
$redirectToReferer = true;
$redirectURL = 'thankyou.html';
//****************************************
// mail content
$udatestart = $_POST['Mietbeginn'];
$udateend = $_POST['Mietende'];
$ulieferart = $_POST['Lieferart'];
$ufirma = $_POST['Firma'];
$ufname = $_POST['Vorname'];
$ulname = $_POST['Name'];
$umail = $_POST['E-Mail'];
$uphone = $_POST['Telefon'];
$ufax = $_POST['Fax'];
$uadresse = $_POST['Adresse'];
$uplz = $_POST['PLZ'];
$uort = $_POST['Ort'];
$uwie = $_POST['radio1'];
$usind = $_POST['radio2'];
$uhandfunk = $_POST['Handfunk'];
$ufahrzeugfunk = $_POST['Fahrzeugfunk'];
$ubasisstation = $_POST['Basis Station'];
$urepeater = $_POST['Repeater'];
$uohrhörer = $_POST['Ohrhörer'];
$uhandmikrofon = $_POST['Handmikrofon'];
$utarngarnitur = $_POST['Tarngarnitur'];
$ukopfhörer = $_POST['Kopfhörer'];
$uersatzakku = $_POST['Ersatzakku'];
$ubrauchen = $_POST['radio3'];
$umessage = $_POST['Message'];
if ($_POST['radio1'] == "Telefon") $uwie = 'Telefon';
else if ($_POST['radio1'] == "E-Mail") $uwie = 'E-Mail';
else if ($_POST['radio1'] == "Post") $uwie = 'Post';
if ($_POST['radio2'] == "Ja") $usind = 'Ja';
else if ($_POST['radio2'] == "Nein") $usind = 'Nein';
if ($_POST['radio3'] == "Ja") $ubrauchen = 'Ja';
else if ($_POST['radio3'] == "Nein") $ubrauchen = 'Nein';
// company email:
$messageText = 'Mietbeginn: '.$udatestart."\n".
'Mietende: '.$udateend."\n".
'Vorname: '.$ufname."\n".
'Name: '.$ulname."\n".
'E-Mail: '.$umail."\n".
'Telefon: '.$uphone."\n";
if ($_POST['Lieferart']) $messageText = $messageText.'Lieferart: '.$ulieferart."\n";
if ($_POST['Firma']) $messageText = $messageText.'Firma: '.$ufirma."\n";
if ($_POST['Fax']) $messageText = $messageText.'Fax: '.$ufax."\n";
if ($_POST['Adresse']) $messageText = $messageText.'Adresse: '.$uadresse."\n";
if ($_POST['PLZ']) $messageText = $messageText.'PLZ: '.$uplz."\n";
if ($_POST['Ort']) $messageText = $messageText.'Ort: '.$uort."\n";
if ($_POST['radio1']) $messageText = $messageText.'Wie möchten Sie kontaktiert werden: '.$uwie."\n";
if ($_POST['radio2']) $messageText = $messageText.'Sind Sie bereits Kunde bei uns: '.$usind."\n";
if ($_POST['Handfunk']) $messageText = $messageText.'Handfunk: '.$uhandfunk."\n";
if ($_POST['Fahrzeugfunk']) $messageText = $messageText.'Fahrzeugfunk: '.$ufahrzeugfunk."\n";
if ($_POST['Basis Station']) $messageText = $messageText.'Basis Station: '.$ubasisstation."\n";
if ($_POST['Repeater']) $messageText = $messageText.'Repeater: '.$urepeater."\n";
if ($_POST['Ohrhörer']) $messageText = $messageText.'Ohrhörer: '.$uohrhörer."\n";
if ($_POST['Handmikrofon']) $messageText = $messageText.'Handmikrofon: '.$uhandmikrofon."\n";
if ($_POST['Tarngarnitur']) $messageText = $messageText.'Tarngarnitur: '.$utarngarnitur."\n";
if ($_POST['Kopfhörer']) $messageText = $messageText.'Kopfhörer: '.$ukopfhörer."\n";
if ($_POST['Ersatzakku']) $messageText = $messageText.'Ersatzakku: '.$uersatzakku."\n";
if ($_POST['radio3']) $messageText = $messageText.'Brauchen Sie Vor-Ort-Support: '.$ubrauchen."\n";
if ($_POST['Message']) $messageText = $messageText.'Nachricht: '.$umessage."\n";
// client email:
$messageHeaders = 'From: '.$umail."\r\n".
'Reply-To: '.$umail."\r\n".
'X-Mailer: PHP/'.phpversion();
if (preg_match('/^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/',$targetEmail,$matches))
mail($targetEmail, $messageSubject, $messageText, $messageHeaders);
// redirect
if($redirectToReferer) {
header("Location: ".@$_SERVER['HTTP_REFERER'].'#sent');
} else {
header("Location: ".$redirectURL);
}
?>
Wo liegt der Hund begraben? Um Tipps bin ich sehr dankbar.
Grüsse Oliver