От известно време се чудих как става тоя номер с пращането на писма от сайтове, които не са UTF-8, така, че при натискане на "ОТГОВОРИ" на мястото на Subject (ОТНОСНО) да не се появяват маймунки.
Мисля, че стигнах до решението. Малко по трудният път, защото така и не намерих обяснение как става номера. Най-просто скрипта за пращане на текстови съобщения представлява следното:
$subject = "Съобщение от сайта";
$encoded_subject="=?Windows-1251?B?".base64_encode($subject)."?=rn";
mail( "vashiat-mail@abv.bg",
$encoded_subject,
"Съобщение: ".$_POST['msg'],
'Content-type: text/plain; charset=windows-1251'."rn".
"From: ".$_POST['email']."rn".
'Reply-To: '.$_POST['еmail']."rn".
'MIME-Version: 1.0');
?> |
Да обясним подробностите:
vashiat-mail@abv.bg - Пощата на която искате да се изпращат писмата
$_POST['msg'] - съдържание на съобщението
$_POST['email'] - пощата на посетителя на страницата, който ви е писал
Какво е особеното на този скрипт. Трябва да се знае, че subject трябва да е в base64 кодиране. Но трика тука е, че кирилицата в ANSI трябва да се посочи с символите =?Windows-1251?B? и след кодираното съобщение реда се завършва с ?=. До сега когато съм получвал писма от сайтове или са били без вкарване на енкодинг за събжекта или са били в UTF-8 кодиране - =?UTF-8?B?.
Тая идея ми дойде след като прегледах няколко съобщения от сайта на Download.bg, които си ползват Windows-1251! Мерси!