mail() och Loopia

PHP

6 svar · 1 181 visningar · startad av Moonman

Medlem sedan apr. 200273 inlägg
Trådstart#1

Hej alla tomtar!

Har sökt och testat allt jag har hittat men jag kan inte få åäö att fungera i mina mail, vare sig i subject eller message. Är det någon som vet om Loopia har något speciellt krav eller vad som behövs för att det ska fungera?

mvh
Moonman

Medlem sedan mars 20007 896 inlägg
#2

Har du försökt att sätta headers i dina mail? Skickar du dom som plain text eller html?

mail($to, $subject, $message, "MIME-version: 1.0\nContent-type: text/html; charset=ISO-8859-1");
Medlem sedan apr. 200273 inlägg
#3

Bara som text. Har provat olika headers men inte fått det att fungera. Ska testa din och återkommer senare

Medlem sedan dec. 20042 245 inlägg
#4

För att body ska fungera korrekt behöver du ange Content-Type: text/plain; charset=... (ev. följt av format- och delsp-parametrar) där "..." är den charset du använder för bodyn, tex utf-8.

För icke-ascii-tecken ska fungera i headers (tex From:) behöver du nog escapa texten som base64 som följer:

From: =?UTF-8?B?[i]w6XDpMO2DQo[/i]?= <[i]foo@example.org[/i]>

...där "w6XDpMO2DQo" är "åäö" i utf-8 i base64.

Medlem sedan apr. 200273 inlägg
#5

Har testat testat båda era förslag. Kan ni se felet jag gör i koden?

$to = $_POST["email"];
$subject = "Kroginspektionen: Ditt lösenord";
$body = "Hej!\n\nHär är ditt lösenord: " . $row["Password"] . "\n\nMvh\nKroginspektionen.nu";
if(mail("$to", "$subject", "$body", "From: [email]noreply@Kroginspektionen.nu[/email] MIME-version: 1.0\nContent-type: text/plain; charset=ISO-8859-1"))
	echo("Ett mail med ditt lösenord är skickat!");
else
	echo("Ett fel uppstod när ditt email skulle skickas!");
Medlem sedan juni 20001 251 inlägg
#6
From: [email]noreply@Kroginspektionen.nu[/email]\nReply-To: [email]noreply@Kroginspektionen.nu[/email]\nMIME
Medlem sedan apr. 200273 inlägg
#7

Tusen tack alla! Fick det att fungera tills slut med koden nedanför, någon som har förbättringar?

$to = $_POST["email"];
$subject = "=?UTF-8?B?" . base64_encode("Kroginspektionen: Ditt lösenord") . "?=";
$body = "Hej!\n\nHär är ditt lösenord: " . $row["Password"] . "\n\nMvh\nKroginspektionen.nu";
$header = "From: Kroginspektionen.nu <noreply@Kroginspektionen.nu>\nMIME-version: 1.0\nContent-type: text/plain; charset=utf-8";

if(mail("$to", "$subject", "$body", "$header"))
	echo("Ett mail med ditt lösenord är skickat!");
else
	echo("Ett fel uppstod när ditt email skulle skickas!");
587 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
438 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
438 ms — ändringar (db)