php, mail() och åäö

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2004-04-09 23:55

Tja!

Många lär ha trilskats med det här tidigare...

Jag har ett script som hämtar mottagare och skickar ut ett nyhetsbrev till dessa.
För närvarande är de ca 80st och av dessa så verkar några enstaka (1-3st) få fel tecken på åäö. Vet ej vilket OS de körde och vilken språkinställning...

Det enda kravet är väl i stort sett att mailet ej får vara html-formaterat.
Borde man ange teckenuppsättning eller något sånt för mailen i dess headers eller något?

Min fråga är alltså egentligen... hur ska man koda e-brev korrekt så de syns i vanliga svenska mailklienter?

så här ser en bit av koden ut

// gör så att åäö m.m. visas korrekt!
	$subject	=	mb_encode_mimeheader($newsletter['subject']):


	$message	=	$newsletter['message'];
	
	$headers	=	"To: \r\n";
	$headers	.=	"From: Kilotin <no-reply@kilotin.se>\r\n";
	$headers	.=	"Bcc: " . $recipients . "\r\n";
	if(mail("",$subject,$message,$headers)) {
		echo "<p>Nyhetsbrevet skickades framgångsrikt</p>";
		echo "<br><br><p><b>Mottagare</b>: " . $recipients . "</p>";
	} else
		echo "<p class=\"error\">Ett fel uppstod när nyhetsbrevet skickades.</p>";

Det du borde göra är att specificera teckenuppsättning och teckenkodning. De mime-headers du behöver skicka då är "Content-Type" och "Content-Transfer-Encoding". Ungefär så här brukar meddelandehuvudena jag använder se ut, och hittills har de iaf inte gett mig några teckenkodningsproblem:

Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Ska man vara riktigt jättesäker på att ingenting förstörs på vägen ska man väl koda om allting till quoted-printable, men php-funktionen jag använde för det (tror att det var imap_8bit) gjorde våld på url-strängar som innehöll get-variabler.

Skulle just till att tipsa när jag såg att Samuel redan sagt allt viktigt. Just den där "Content-Transfer-Encoding: 8bit" var en grej som jag för länge sedan hackade in i formmail minns jag för att få just ÅÄÖ rätt och var väldigt stolt över att det fungerade...

  • Medlem
  • Stockholm
  • 2004-04-10 23:18

Allright..tackar

Det här med headers, spelar det någon roll vilken ordning de kommer i?Ska jag lägga in dem före "To:" eller efter "Bcc" ? eller spelar det ingen roll??

Jag tror inte det spelar någon roll, men du kan ju vänta på Samuels svar för att vara riktigt säker

  • Medlem
  • Stockholm
  • 2004-04-11 11:19

Hahah.. äsch.

Man ska våga prova lite också... (tillsammans med att man ska orka söka+läsa mera)

Måste ha reda e-postadressen till hon som inte fick åäö att se korrekt ut så man kan testa det här.

Eller så uppdaterar ja scriptet och ser om nya klagomål kommer

1
Bevaka tråden