Just nu i M3-nätverket
Gå till innehåll

ÅÄÖ blir fel i mailfunktion


Injen

Rekommendera Poster

Har sökt, läst och hittat andras lösningar på encodningen, men ingen har funkat för mig.

ÅÄÖ blir fel oavsett om jag läser mailet i webhotellets webmail, eller i Outlook/Hotmail

 

Så här ser ÅÄÖ ut när man läser mailet

åäö

 

Här är koden.

<?php 
$errors = '';
$myemail = 'xxx@minmail';
if(empty($_POST['datum'])  || 
   empty($_POST['name'])  || 
   empty($_POST['tele']) || 
   empty($_POST['email']) || 
   empty($_POST['hunden']) || 
   empty($_POST['ras']) || 
   empty($_POST['alder']) || 
   empty($_POST['regnr']) || 
   empty($_POST['mednr']) || 
   empty($_POST['skott'])) 
{
    $errors .= "\n Fel: Fält med * måste vara korrekt ifyllda";
}

$time = time() + 7200;
$skicka = date('Y-m-d H:i', $time);;
$datum = $_POST['datum'];
$name = $_POST['name']; 
$tele = $_POST['tele']; 
$email_address = $_POST['email']; 
$hunden = $_POST['hunden']; 
$ras = $_POST['ras']; 
$alder = $_POST['alder']; 
$regnr = $_POST['regnr']; 
$mednr = $_POST['mednr']; 
$skott = $_POST['skott']; 
$message = $_POST['message']; 

if (!preg_match(
"~^SE?\d{5}/\d{4}$~",
$regnr))
{
    $errors .= "\n Fel: Ogiltig Regnr/Tävlingslicensnr";
}

if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email_address))
{
    $errors .= "\n Fel: Ogiltig E-mail adress";
}

if( empty($errors))
{
	$to = $myemail . ', ' . $email_address; 
	$email_subject = "Ny anmälan";
	$email_body = "Du har en ny anmälan.".
	"\n Anmälan skickades in $skicka och här är de fullständiga uppgifterna:\n\n Datum för BPH: $datum \n Name: $name \n Telefonnummer: $tele \n E-mail adress: $email \n Hundens namn: $hunden \n Hundens ras: $ras \n Hundens födelsedag: $alder \n Hundens Regnr: $regnr \n Medlemsnummer i klubb: $mednr \n Önskas skottprov?: $skott \n Övrigt: \n $message"; 
	
	$headers = "From: noreply@minmail\n";
	$headers .= "Reply-To: $email_address";
	
	mail($to,$email_subject,$email_body,$headers);
	//redirect to the 'thank you' page
	header('Location: tack-for-anmalan.html');
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
	<title>BPH anmälan</title>
</head>

<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>


</body>
</html>
Länk till kommentar
Dela på andra webbplatser

se till att 

1. Filen är sparad i UTF-8

2. Du sätter utf-8 i början i koden

3. Content-type utf-8 är satt även i mailheadern

Länk till kommentar
Dela på andra webbplatser

se till att 

1. Filen är sparad i UTF-8

2. Du sätter utf-8 i början i koden

3. Content-type utf-8 är satt även i mailheadern

 

Punkt 1 och 2 gäller även filen där du har formuläret.

Länk till kommentar
Dela på andra webbplatser

se till att 

1. Filen är sparad i UTF-8

2. Du sätter utf-8 i början i koden

3. Content-type utf-8 är satt även i mailheadern

 

Tackar för snabbt svar.

Glömde dock skriva att jag inte är helt hemma när det gäller webbutveckling.

1. Använder mig utav MS Expression Web 4, och jag hittar ingenstans där man kan spara filen i UTF-8

2. Alltså bara längst upp i php filen eller? Och hur ser isf den raden ut?

3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> är skrivit i html filen

 

EDIT: Löste #1. Fick lov att högerklicka och välja Save as och välja UTF-8.

Länk till kommentar
Dela på andra webbplatser

2. header('Content-Type: text/html; charset=utf-8');

3.  $headers .= 'Content-type: text/html; charset=utf-8' "\r\n";  (efter reply-to)

Länk till kommentar
Dela på andra webbplatser

Tack och bock, ska genast testa.

Trodde det va ajja bajja att ha två olika $headers rader. Vet inte vart jag läste det :)

Länk till kommentar
Dela på andra webbplatser

2. header('Content-Type: text/html; charset=utf-8');

 

Funkade inte. Lägger jag den överst så får jag bara en vit tom ruta med header('Content-Type: text/html; charset=utf-8'); längst överst

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Sorry sent svar.

Har iaf testat och det funkar inte. Vet inte vart det är fel :(

Kan det vara webeditorn som djävlas när man sparar php filen? Känns som att jag har testat alla lösningar snart.

Länk till kommentar
Dela på andra webbplatser

Kollar jag källan på mailet så hittar jag två saker som verkar vara fel.

 

X-Amavis-Alert: BAD HEADER SECTION, Non-encoded 8-bit data (char C3 hex):

 

Och

 

Reply-To: anmälarens@mail.seContent-type: text/html; charset=utf-8

 

Så mailet verkar skickas till anmälaren, men inte till "våran/hemsidans" webmail

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...