2010. szeptember 3. - 19:42:37 *
Üdvözlünk, Vendég. Kérlek jelentkezz be vagy regisztrálj.
Nem érkezett meg az aktivációs e-mail?

Jelentkezz be a felhasználóneveddel, jelszavaddal és add meg a munkamenet hosszát
Hírek: Nyerj egy eredeti PowerBall giroszkópos kézerősítőt! Semmi egyebet nem kell tenned, csak fórumozz itt velünk!
Nyereményjáték részletei...
 
   Főoldal   Súgó Bejelentkezés Regisztráció  
Oldalak: [1]
  Nyomtatás  
Szerző Téma: mail ékezetes subjecttel  (Megtekintve 753 alkalommal)
hugo87
Újonc
*

Karma: 1
Hozzászólások: 11


« Dátum: 2010. március 5. - 12:55:34 »

PHP-ből a mail függvénnyel szeretnék levelet küldeni úgy, hogy a Subject: sorban ékezetek is lennének ("Megrendelés ... ügyfél neve). Az ékezetek viszont nem jelennek meg helyesen, hanem "é" van pl. az "é" helyén. A levél törzsében egyébként minden ékezet jó. Mit rontok el?


Kód:
$megrendeles_header="From: SHOP <megrendeles@shop.hu>\n";
$megrendeles_header.="Reply-To: megrendeles@shop.hu\n";
$megrendeles_header.="Content-Type: text/plain; charset=utf-8\n";
$megrendeles_header.="Content-Disposition: inline\n";
$megrendeles_header.="Content-Transfer-Encoding: 8bit\n";

$megrendeles_subject = "Új megrendelés #".$megrendeles_id." / ".$megrendelo_neve;

mail("megrendeles@shop.hu",$megrendeles_subject,$megrendeles_body,$megrendeles_header);
Naplózva
zeuge
Újonc
*

Karma: 2
Hozzászólások: 25



« Válasz #1 Dátum: 2010. március 6. - 11:29:13 »

Lehet, hogy itt a gond: "Content-Transfer-Encoding: 8bit\n"

Én így mail -ezek egyszerűen:
$to = "";
$subject = "";
$message = "";
$comment = "";

mail($to, $subject, $message, $comment);
Naplózva
hugo87
Újonc
*

Karma: 1
Hozzászólások: 11


« Válasz #2 Dátum: 2010. március 6. - 23:10:08 »

Ez a Content-Transfer-Encoding sor már utólag került bele, de nem segített. Ha a $subject változóban is van ékezet, akkor levelezőben normálisan látszik nálad?
Naplózva
zeuge
Újonc
*

Karma: 2
Hozzászólások: 25



« Válasz #3 Dátum: 2010. március 7. - 16:19:15 »

Eddig csak a citromail fiókomra küldettem email-t ,ott minden látszik rendben.
Naplózva
Charley
Újonc
*

Karma: 3
Hozzászólások: 31


« Válasz #4 Dátum: 2010. március 7. - 21:21:39 »

Az e-mail fejlécekben nem lehetnek ékezetes formában karakterek, mert ezek kívül esnek a 7 bites tartományon. Tehát 7 bitesre kell alakítani a subjectet is, ahhoz, hogy minden SMTP szerveren biztosan átmenjen. A megfelelő encoding/decoding nem okozhat gondot a szabvány szerinti levelezőknek.

Pl. így lehet 7 bitessé alakítani nálad a subject stringet:

$megrendeles_subject = "=?UTF-8?B?".base64_encode($megrendeles_subject)."?=";

Ez nekem mail() esetén nem működött rendesen, de mb_send_mail() esetén igen. Esetleg az mb_encode_mimeheader() függvénnyel is lehet játszani, de nekem egy konkrét esetben a fenti megoldás adott jó eredményt.

Naplózva
tibike
Újonc
*

Karma: 3
Hozzászólások: 8


« Válasz #5 Dátum: 2010. március 9. - 11:21:20 »

Ékezetekkel nem sokan foglallkoznak e-mail subjectben. Én rendszeresen kapok gagyin összerakott e-maileket nagyobb cégektől is (pl. fotórendelésnél), amiknél azért nem értem miért nem oldják meg normálisan. Lehet el kellene nekik is küldeni a megoldást? Mosolyog
Naplózva
Oldalak: [1]
  Nyomtatás  
 
Ugrás:  

A MySQL adatbázis használatával A PHP programnyelven íródott Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Szabványos XHTML 1.0! Szabványos CSS!
Adatvédelmi nyilatkozat