Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.
  • Форумы
  •  » Флейм
  •  » Gmail, письма с формы обратной связи приходят в кривой кодировке

№123-03-2007 10:30:05

lcraFTl
Участник
 
Группа: Extensions
Откуда: Latvia
Зарегистрирован: 17-01-2005
Сообщений: 1461
UA: Firefox 2.0

Gmail, письма с формы обратной связи приходят в кривой кодировке

Имеется форма обратной связи на сайте, письма с неё приходят в Thunderbird нормально, на русском, а вот если высылать  на gmail, то письма в кривой кодировке, приходится раскодировать, gmail я так понимаю понимает только UTF-8.
Так в чём же проблема, как сделать мою php форму чтобы и на gmail письма шли читаемые. Кодировка сайта 1251.

Привожу код формы, состоит из двух файлов:
order.php

Выделить код

Код:

<form method="post" action="order_send.php">
<table align="center" width="348" cellspacing="1" cellpadding="1" border="0">
<tr>
    <td valign="top">Ваше имя:</td>
    <td><input name="name" value=""></td>
</tr>
<tr>
    <td valign="top">E-mail:</td>
    <td><input name="mail" value=""></td>
</tr>
<tr>
    <td valign="top">Описание заказа:</td>
    <td><textarea name="text" cols="30" rows="7" wrap="VIRTUAL" value=""></textarea></td>
<tr>
    <td></td>
	<td><input type="submit" value="Отослать"></form></td>

order_send.php

Выделить код

Код:

<?php
if ($_POST['name'] != "" && $_POST['mail'] && $_POST['text'] ) {
$subject="Form from my site";
$ip=$_SERVER["REMOTE_ADDR"];
$host = $ip;
$mon=date(m);
$day=date(j);
$year=date(y);
$hour=date(g);
$min=date(i);
$sec=date(s);
$hour=$hour-2;
if($hour<=0) { $hour+=12; }
$ts = "$hour:$min:$sec on $day/$mon/$year";


$to="youremail@address.com";

$body="

Имя = $name

Ваша почта = $mail

Текст сообщения = $text


Host: $host
Time: $ts";

$email = "From: Form <$to>";
mail($to, $subject, $body, $email);
?>

<html>
<head>
<title>Email Sent</title>
</head>
<body bgcolor="#ffffff" text="#666666">

<p>&nbsp;</p>
<center>
<table border="1" cellpadding="3" cellspacing="0" width="400" bordercolor="#919191" bgcolor="#E6E6E6">
  <tr>
    <td width="100%">
      <p><center><b><font color="#000000">Email was successfully sent to: <?php echo $to ?></font></b></center>
      
    </td>
  </tr>
</table>

</body>
</html>

<?php
} else {
?>

<html>
<head>
	<title>Contact email error</title>
</head>

<body bgcolor="#ffffff" text="#666666">
<p><center>
<table border="1" cellpadding="3" cellspacing="0" width="400" bordercolor="#919191" bgcolor="#E6E6E6">
  <tr>
    <td width="100%">
			<center>
			<b>There was an error with processing the email.</b><br>
			<p>
			<font color="#FF0000">Errors where:</font><br>
			<?php
				If (!$_POST['name'])
					echo "Имя field is empty<br>";
	
				If (!$_POST['mail'])
					echo "Ваша почта field is empty<br>";
	
				If (!$_POST['text'])
					echo "Текст сообщения field is empty<br>";
	
			?>
		<p>
		Email message wasn't sent
      
    </td>
  </tr>
</table>
</body>
</html>

<?php
}
?>

Отредактировано lcraFTl (23-03-2007 10:30:43)

Отсутствует

 

№223-03-2007 11:43:10

krigstask
друг народа
 
Группа: Members
Откуда: Rampova, Inkerimaa
Зарегистрирован: 13-09-2005
Сообщений: 4593
UA: Opera 8.5
Веб-сайт

Re: Gmail, письма с формы обратной связи приходят в кривой кодировке

lcraFTl

gmail я так понимаю понимает только UTF-8

Неправда Ваша. Всякие разные понимает.


Ядрёная консоль делает меня сильней!

Отсутствует

 

№323-03-2007 12:24:08

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
UA: Firefox 2.0
Веб-сайт

Re: Gmail, письма с формы обратной связи приходят в кривой кодировке

lcraFTl
хм а кодировку указывать будет Tux
а gmail не то что бы понимает только utf, он в нём работает, поэтому если письмо приходит без указания кодировки, оно будет выведено без перекодировки в том виде в каком есть,
а как иначе?
кстати стоит покурить мануал по функции mail() чует моё сердце, что там в example про кодировку указано

что то наподобии такого

Выделить код

Код:

<?php
$body="<em>HTML</em> formatted <strong>Message</strong";
  
$headers = "From: info@mycompany.com \r\n";
$headers.= "Content-Type: text/html; charset=ISO-8859-1 ";
$headers .= "MIME-Version: 1.0 ";
/*notice there aren't any \r\n after the second two header additions. This is what made this version work correctly*/
mail("john@pacificprime.com", "An HTML Message", $body, $headers);
?>

Отредактировано Punk_UnDead (23-03-2007 12:26:19)


это не просто аватара - это древний символ изгнания зла

Отсутствует

 

№423-03-2007 13:33:40

lcraFTl
Участник
 
Группа: Extensions
Откуда: Latvia
Зарегистрирован: 17-01-2005
Сообщений: 1461
UA: Firefox 2.0

Re: Gmail, письма с формы обратной связи приходят в кривой кодировке

Punk_UnDead
Теперь заголовок и само письмо видны нормально, но только при не открытом письме, 
http://forum.mozilla-russia.org/uploaded/Gmail.jpg
а когда нажимаешь открыть письмо, то весть текст не читаемый. Почему так?

Отредактировано lcraFTl (23-03-2007 13:36:29)

Отсутствует

 

№523-03-2007 17:08:47

Modex
_
 
Группа: Extensions
Откуда: Краснодар, Россия
Зарегистрирован: 10-10-2004
Сообщений: 3311
UA: Minefield 3.0

Re: Gmail, письма с формы обратной связи приходят в кривой кодировке

а когда нажимаешь открыть письмо, то весть текст не читаемый. Почему так?

У меня кстати наоборот бывает... с некоторыми чатами... :/ Показывает чёрт знает что, а если зайти, то всё нормально


F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!

Отсутствует

 

№623-03-2007 17:27:39

Punk_UnDead
Участник
 
Группа: Members
Откуда: Макеевка(Украина)
Зарегистрирован: 29-05-2006
Сообщений: 613
UA: Firefox 2.0
Веб-сайт

Re: Gmail, письма с формы обратной связи приходят в кривой кодировке

Modex
это потому что кодировка относится к телу письма
по стандарту в заголовке вообще 7 бит должно быть
в заголовок кодировка внедряется как-то боком
lcraFTl
без исходного текста ничего сказать не могу, сам такое делал было всё нормально


это не просто аватара - это древний символ изгнания зла

Отсутствует

 
  • Форумы
  •  » Флейм
  •  » Gmail, письма с формы обратной связи приходят в кривой кодировке

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]