Нужна помощь по кодировке в PHP функции mail()

AK
На сайте с 19.05.2010
Offline
1
1095

Проблема с кодировкой в письме посылаемом через php скрипт.

Как в этом коде задать правильно $header, тобы outlook понимал, что письмо в кодировке windows-1251. Так как по умолчанию outlook читает все письма в koi8-r, то письмо которое пришло в windows-1251, в аутлуке получается в крякозябрах. Приходится открывать письмо и менять кодировку в ручную.

$header="Content-type: text/plain; charset=\"windows-1251\""; вот эту строку куда только не прописывал, ничего не получается. header аутлуку не посылается.

Сама страница в windows-1251.

Тема письма сконвертирована с помощью $subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string("Запрос" . $tovar, "w","k")).'?='; и приходит в читаемом виде.

<?php


$fio = $_POST['fio'];
$company = $_POST['company'];
$city = $_POST['city'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$tovar = $_POST['tovar'];
$keystring = $_POST['keystring'];

if (count($_POST)>0)
{
if (!empty($fio) && !empty($company) && !empty($city) && !empty($phone) && !empty($email) && !empty($tovar))
{
if ($_SESSION['captcha_keystring'] == $keystring)
{
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string("Запрос" . $tovar, "w","k")).'?=';
mail($mainmail,
$subject,
"Контактная информация:\n".
" Имя: " . $fio . "\n".
" Компания: " . $company . "\n".
" Город: " . $city . "\n".
" Телефон: " . $phone . "\n".
" Email: " . $email . "\n".
" " . "\n".
"Информация по запросу:\n".
" Наименование товара: " . $tovar . "\n".,
'From:' . $email);

echo "<br><font color='green'>Ваш запрос отправлен</font>";
}
else
{
echo "<br><font color='red'>Не правильно введен код на картинке!</font>";
}
}
else
{
echo "<br><font color='red'>Имя, Компания, Город, Телефон, Почта и Наименование товара должны быть заполнены!</font>";
}
}

unset($_SESSION['captcha_keystring']);

?>
ewg777
На сайте с 04.06.2007
Offline
225
#1

ArtemK, используйте phpmailer или или. Если у Вас будет 100 полей формы, как поступите?

AK
На сайте с 19.05.2010
Offline
1
#2

В коде не разбираюсь, форму заказывал, поэтому использовать phpmailer, нужно будет переписать скрипт. Поэтому хотелось этот код доработать. Весь инет перерыл, никакие способы мне не помогли.

dvaes
На сайте с 03.09.2007
Offline
65
#3


mail($mainmail,
$subject,
"Контактная информация:\n".
" Имя: " . $fio . "\n".
" Компания: " . $company . "\n".
" Город: " . $city . "\n".
" Телефон: " . $phone . "\n".
" Email: " . $email . "\n".
" " . "\n".
"Информация по запросу:\n".
" Наименование товара: " . $tovar . "\n",
"From: " . $email . "\nContent-type: text/plain; charset=\"windows-1251\"\n");
AK
На сайте с 19.05.2010
Offline
1
#4

Помогло! Спасибо большое добрый молодец)

ArtemK добавил 18.07.2010 в 12:45

Подскажите пожалйста еще, как в этой строчке прописать, чтобы заголовок письма был с именем, а email был скрыт в нем. Думаю, что как то вроде этого: 'From:' . $fio . <$email>.

'From:'  . $email . "\nContent-type: text/plain; charset=\"windows-1251\"\n");

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий