X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Проблема с кодировкой, форма обратной связи, при пересылке.
SkyNL
SkyNL
Topic Starter сообщение 8.6.2011, 15:39; Ответить: SkyNL
Сообщение #1


Приветствую. Подскажите, пожалуйста.

При отправке сообщений, на сервер (agava) письмо приходит в кривой кодировке.
Пробовал отправлять на gmail, все нормально. При этом если получать почту через thunderbird или outlook в обоих случая кодировка кривая.
Код формы:
[PHP]
<?php
include "info.php";
$producer = $p0111;
$model = $m0111;
$en_price = $e0111;
$article = $a0111;
$rus_price = $en_price*$dollar_policy;
$space ='&nbsp;';
$rus = 'руб.';
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Заказ товара</title>
</head>
<body bgcolor="#FFFFFF" style="font-size:13px; font-family:Arial, Helvetica, sans-serif; line-height:150%;">
<form method="POST" action="sent.php" name="submit">
<table border=0 cellspacing=10 width="400">
<tr>
<td>
<table width=100% border=0 cellpadding=5 cellspacing=0>
<tr>
<td width="40%" align="right">Фамилия Имя:</td>
<td width="60%">
<input type="text" name="name" value="" style="width: 100%;" >
</td>
</tr>
<tr>
<td align="right">Адрес:</td>
<td>
<input type="text" name="adres" style="width: 100%;" value="">
</td>
</tr>
<tr>
<td align="right">Телефон:</td>
<td>
<input type="text" name="phone" style="width: 100%;" value="">
</td>
</tr>
<tr>
<td align="right">E-mail:</td>
<td>
<input type="text" name="email" value="" style="width: 100%;" >
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width=100% cellpadding="5">
<tr>
<td colspan="2"><strong>Ваш заказ:</strong></td>
</tr>
<tr>
<td width=40% >Артикул:</td>
<td>
<?php
echo $article;
?>
</td>
</tr>
<tr>
<tr>
<td width=40% > Производитель:</td>
<td>
<?php
echo $producer;
?>
</td>
</tr>
<tr>
<td>Модель:</td>
<td>
<?php
echo $model;
?>
</td>
</tr>
<tr>
<td>Цена:</td>
<td>
<?php
echo $rus_price, $space, $rus;
?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">Комментарий:</td>
</tr>
<tr>
<td colspan="2" align="center">
<textarea name="message" style="width: 100%;" cols=40 rows=5></textarea>
<?php
$open = '<input type="hidden" name="';
$next_part = '" value="';
$over = '"/>';
$next_str = '';
$in_name = 'article';
echo $open.$in_name.$next_part.$article.$over.$next_str;
$in_name = 'producer';
echo $open.$in_name.$next_part.$producer.$over.$next_str;
$in_name = 'model';
echo $open.$in_name.$next_part.$model.$over.$next_str;
$in_name = 'price';
echo $open.$in_name.$next_part.$rus_price.$over.$next_str;
?>
</td>
</tr>
<tr>
<td height="10"></td></tr>
<tr>
<td>
<button type="submit">Отправить</button>
</table>
</form>
</body>
</html>
[/PHP]
[PHP]
<?php
$name = $_POST['name'];
$adres = $_POST['adres'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$price = $_POST['price'];
$model = $_POST['model'];
$producer = $_POST['producer'];
$article = $_POST['article'];
$message = substr(htmlspecialchars(trim($_POST['message'])), 0, 1000000);
$new_str = '
';
$k_name = 'Name: '.$name;
$k_adres = 'Adres: '.$adres;
$k_phone = 'Phone: '.$phone;
$k_email = 'E-mail: '.$email;
$k_article = 'Art: '.$article;
$k_producer = 'Producer: '.$producer;
$k_model = 'Model: '.$model;
$k_price = 'Price: '.$price;
$kom = 'Comment: ';
$mess = $k_name.$new_str.$k_adres.$new_str.$k_phone.$new_str.$k_email.$new_str.$new_str.$k_article.$new_str.$k_producer.$new_str.$k_model.$new_str.$k_price.$new_str.$kom.$new_str.$new_str.$message;

$to = 'mail@site.com';
$from='client';
$title = 'New one';

mail($to, $title, $mess, $from);
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0;
URL=/ok.php'></head></html>";
?>
[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 8.6.2011, 15:47; Ответить: alexdrob
Сообщение #2


Вбить в поиск по форуму "кодировка письма" религия не позволяет?
Например вот
http://www.html.by/threads/14697-Pisma-ne-...%8C%D0%BC%D0%B0
http://www.html.by/threads/14582-CHto-tut-...%8C%D0%BC%D0%B0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SkyNL
SkyNL
Topic Starter сообщение 8.6.2011, 16:26; Ответить: SkyNL
Сообщение #3


Я находил эти темы. К сожалению моих знаний не достаточно, чтобы воспользоваться кодом. Буду учиться)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 8.6.2011, 16:37; Ответить: alexdrob
Сообщение #4


Вставляете в скрипт функции
[PHP]function send_mime_mail($name_from, // имя отправителя
$email_from, // email отправителя
$name_to, // имя получателя
$email_to, // email получателя
$data_charset, // кодировка переданных данных
$send_charset, // кодировка письма
$subject, // тема письма
$body // текст письма
) {
$to = mime_header_encode($name_to, $data_charset, $send_charset)
. ' <' . $email_to . '>';
$subject = mime_header_encode($subject, $data_charset, $send_charset);
$from = mime_header_encode($name_from, $data_charset, $send_charset)
.' <' . $email_from . '>';
if($data_charset != $send_charset) {
$body = iconv($data_charset, $send_charset, $body);
}
$headers = "From: $from\r\n";
$headers .= "Content-type: text/plain; charset=$send_charset\r\n";
$headers .= "Mime-Version: 1.0\r\n";

return mail($to, $subject, $body, $headers);
}

function mime_header_encode($str, $data_charset, $send_charset) {
if($data_charset != $send_charset) {
$str = iconv($data_charset, $send_charset, $str);
}
return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';
}[/PHP]
а вместо вызова функции mail вашего скрипта вызываете send_mime_mail
примерно так
[PHP]send_mime_mail($from,
$from,
$to,
$to,
'UTF-8',
'KOI8-R',
$title,
$mess);[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SkyNL
SkyNL
Topic Starter сообщение 10.6.2011, 0:32; Ответить: SkyNL
Сообщение #5


В общем либо я криворукий, либо что-то не то... Нет. Я то криворукий, это понятно... Но все же что-то не то. Не получается. Буду почту через гмэил проверять.

В любом случае спасибо)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 10.6.2011, 2:37; Ответить: ZhukV
Сообщение #6


SkyNL, хз почему, но все почтовики лучше всего принимают письма в кодировке KOI8
С чего это... Бес понятия..
Используйте функцию iconv, для перекодирования символов (можно увидеть выше в примере, что дал alexdrob).
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 10.6.2011, 19:08; Ответить: r3ntg3n
Сообщение #7


оффтоп - Не знаю, как у Вас, но у меня Dovecot на рабочем сервере спокойно работает с UTF-8. Да с любой кодировкой, в которой отправляется письмо. Все что надо - настроить клиент на самостоятельное определение кодировки.

по теме - при отправке письма в заголовках передайте тип содержимого (html или plain text) и кодировку этого самого содержимого.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NiKON_hb
NiKON_hb
сообщение 11.6.2011, 0:40; Ответить: NiKON_hb
Сообщение #8


[PHP]
<?php
function mailResult ($to, $from, $subject, $text) {
$message = "
<html>
<head>
<title>{$subject}</title>
</head>
<body>
{$text}
</body>
</html>
";
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
$headers .= "To: admin <{$to}>" . "\r\n";
$headers .= "From: server <{$from}>" . "\r\n";
$send = mail($to, $subject, $message, $headers);
if ($send) {
return true;
} else {
return false;
}
}
?>
[/PHP]

Вот вам функция.
Пример вызова:
[PHP]
mailResult("кому", "от кого", "тема", "текст письма");
[/PHP]

AHTUNG! Кодировка в meta, html, php - (теге/файлах) ДОЛЖНА БЫТЬ UTF-8 без BOM


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
7 stu999 1756 31.3.2024, 11:19
автор: stu999
Открытая тема (нет новых ответов) Получил странную ссылку при линкбилдинге
Как поведет себя поиск при обнаружении странной ссылке?
10 r0mZet 2205 24.10.2022, 19:23
автор: Wachowski
Горячая тема (нет новых ответов) 300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе!
65 inkon 30390 19.7.2022, 13:41
автор: Funoman
Горячая тема (нет новых ответов) тИЦ отменили! Новый показатель Яндекса ИКС! Лучшие площадки под размещение. Бесплатное написание статей при любом заказе.
Эксклюзивное предложение. Успей получить написание статей БЕСПЛАТНО
71 VIMstat 78498 21.6.2022, 9:38
автор: VIMstat
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПринимаю заказы на копирайтинг, рерайтинг. Стабильно работаю, всегда на связи
Нужен автор текстов, копирайтер? Обращайтесь
14 KriptoFin 8093 22.9.2020, 18:07
автор: mrSana


 



RSS Текстовая версия Сейчас: 24.4.2024, 11:54
Дизайн