Mai() - проблем
8 отговора
362 прегледа
Mai() - проблем
Здравейте,
Използвам следния код, за да изпращам е-мейли през PHP:
$res=mail($mail, $subject, $body, "From: $name\r\nReply-To: $mail\r\nContent-type: text/html; charset=windows-1251\r\n");
Проблемът е, че когато пристигне писмото, Subject и From полетета не се визуализират на кирилица. Иначе самото съдържание на писмото е ОК.
Някакви идеи защо се получава така?
Използвам следния код, за да изпращам е-мейли през PHP:
$res=mail($mail, $subject, $body, "From: $name\r\nReply-To: $mail\r\nContent-type: text/html; charset=windows-1251\r\n");
Проблемът е, че когато пристигне писмото, Subject и From полетета не се визуализират на кирилица. Иначе самото съдържание на писмото е ОК.
Някакви идеи защо се получава така?
Re: Mai() - проблем
къде е това, където не се визуализират (имам впредвид мейл клиента - програма, web базиран мейл и т.н. ?
Re: Mai() - проблем
Content-type хедъра се отнася само за тялото на писмото. Енкодинга на събджекта, а явно и на останалите полета се задава по различен начин - виж в съответните RFC-та.
Пример от моята поща: "за изпита по МС" е кодирано така: =?iso-8859-1?B?5+Ag6Ofv6PLgIO/uIMzR?=
... nothing that happens to Man is ever natural ...
Пример от моята поща: "за изпита по МС" е кодирано така: =?iso-8859-1?B?5+Ag6Ofv6PLgIO/uIMzR?=
... nothing that happens to Man is ever natural ...
Re: Mai() - проблем
прав си. но само една отметка - Outlook, Outlook Express, Eudora (и някои други) взимат впредвид и encoding на мейла от хедъра при визуализиране на Subject, From и т.н.
но мисля че с твоя коментар много правилно отбелязваш проблема как може да се реши генерално.
но мисля че с твоя коментар много правилно отбелязваш проблема как може да се реши генерално.
Re: Mai() - проблем
Аз използвам ето този код за мейли на кирилица:
$subject = "Здравей";
$subject = convert_cyr_string($subject, "w", "w");
$subject = '=?windows-1251?B?' .base64_encode($subject). '?=';
Re: Mai() - проблем
благодаря за примера!
само да отбележа, че реда
$subject = convert_cyr_string($subject, "w", "w");
в случая нищо не прави (конвертира от win1251 в win1251, т.е. нищо.
само да отбележа, че реда
$subject = convert_cyr_string($subject, "w", "w");
в случая нищо не прави (конвертира от win1251 в win1251, т.е. нищо.