Кривая кодировка (использование ф-ии mail)

Статус
В этой теме нельзя размещать новые ответы.

rolph

Новичок
Кривая кодировка (использование ф-ии mail)

Подскажите пожалуйста, 3ий день ковыряюсь, не могу разобраться.

Сделал графическое подтверждение с отсылкой на мыло заявки.

Если ставить text/plain - приходит в кривой кодировке в outlook 2003
Если ставить text/html - приходит кривой сабж и приложен html-файл. Тело письма пустое.

Да, сабж в таком виде:
Код:
Ñîîáùåíèå ñ ñàéòà Êîíòèíåíò Ñåðâèñ îò 16:43:15 25.09.2006
PHP:
<?

include('confirmer-include.php');
if ($_SERVER['REQUEST_METHOD']=='POST')
	{
	if ($confirmer_result==1)
		{
		$headers = "From: post@ins\n";
        $headers .= "X-Sender: post@ins\n"; 
     	$headers .= "X-Priority: 3\n";
		$headers= "Content-type: text/plain; charset=windows-1251\r\n";
		$headers .= "Content-Transfer-Encoding: 8bit";
     	$subject = "сабж тут";
    	$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?='; 
     	$mes1 = 'ФИО: '.$name; 						/* Фамилия */
		$mes2 = 'Email: '.$email;					/* Email */
		$mes3 = 'Телефон: '.$tel;					/* Телефон */
		$mes4 = 'Вид страхования: '.$vid;			/* Вид страхования */
		$mes5 = 'Откуда узнали о компании: '.$rek; 	/* Откуда узнали о компании */
		$mes6 = 'Номер полиса: '.$polis;			/* Номер полиса */
		$enter = '<br>';
		$message = $mes1.$enter.$mes2.$enter.$mes3.$enter.$mes6; 
		mail("<[email protected]>", $subject, $message, $headers, '[email protected]');
		}
	else
		{
		echo ('off');
		};
	};

?> 
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script language="JavaScript">
 var d=document
 function checK() {  
  if (!(/^\D{2,10}\b\D{2,10}$/.test(d.f.namE.value))) {
       alert('Имя и Фамилия - 2 слова без цифр \от 2 до 10 символов\nисправляем');d.f.namE.select();
       return false;
  }  
  if (d.f.eMail.value=='') {alert("не... мыло надо написать");d.f.eMail.focus();return false}  
  if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(d.f.eMail.value))) {
       alert('такое мыло не пойдет.\nисправляем');d.f.eMail.select()  
       return false  
  }  
  if(d.f.tel.value=='' || d.f.tel.value.length<7)
  {
  alert("Укажите, пожалуйста, Ваш телефон");d.f.tel.select();
  return false;
  } 
  return true;
} 
</script>
</head>
<body>
<?

if ($_SERVER['REQUEST_METHOD']!='POST' || $confirmer_result!=1)
	{
?>
<strong>Форма ввода</strong>
<form action="" method="post" name="f" onSubmit="return checK();">
<table width="545" height="193" bgcolor="#FFFFCC">
	<tr>
		<td width="275" height="25"><b>Фамилия, Имя</b>: </td>
		<td width="256" height="25"><input type="text" name="name" maxlength=60 size="49" value="<? echo $_POST['name']; ?>"></td>
	</tr>
	<tr>
		<td width="275" height="25"><b>Телефон</b>: </td>
		<td width="256" height="25"><input type="text" name="tel" size=49 maxlength=25" value="<? echo $_POST['tel']; ?>"></td>
	</tr>
	<tr>
		<td width="275" height="25"><b>E-mail (если нужно)</b>: </td>
		<td valign=bottom width="256" height="25"><input type="text" name="email" maxlength=100 size="49" value="<? echo $_POST['email']; ?>"></td>
	</tr>
	<tr>
		<td width="275" height="25"><b>Вид страхования</b>: </td>
		<td width="256" height="25">
			<select name="vid" size="1">
			<option value="автострахование">автострахование</option>
			<option value="кредитный автомобиль">кредитный автомобиль</option>
			<option value="страхование имущества">страхование имущества</option>
			<option value="медицинское страхование">медицинское страхование</option>
			<option value="страхование жизни">страхование жизни</option>
			<option value="страхование от несчастных случаев">страхование от несчастных случаев</option>
			<option value="страхование путешествующих">страхование путешествующих</option></select>
		</td>
	</tr>	
	<tr>
		<td width="275" height="25"><b>Как Вы нас нашли? (если не трудно):</b> </td>
		<td width="256" height="25">
			<select name="rek">
			<option value="поиск в интернете">поиск в интернете</option>
			<option value="кликнув на баннер">кликнув на баннер</option>
			<option value="услышав по радио">услышав по радио</option>
			<option value="прочитав в прессе">прочитав в прессе</option>
			<option selected value="я и так вас хорошо знаю...">я и так вас хорошо знаю...</option>
			</select>
		</td>
	</tr>
	<tr>
		<td width="275" height="11"><b>Номер нашего полиса (если есть и помните):</b> </td>
		<td width="256" height="11"><input type="text" name="polis" size=44 maxlength=25 value="<? echo $_POST['polis']; ?>"></td>
	</tr>
	<tr>
  		<td width="275" height="12">
  			<? echo $confirmer_pic; ?></td>
  		<td height="12">&nbsp;</td>
	</tr>
</table>
 
<table border="0" width="103%" height="58">
	<tr>
    	<td width="21%" height="54">
			<input type="submit" value="Отправить">
		</td>
    </tr>
</table>

<p><b><a href="mailto:[email protected]" title="Задать вопрос"></a></b></p>

<INPUT TYPE=hidden NAME="redirect" VALUE="">
<input type=hidden name="env_report" value="REMOTE_HOST,REMOTE_ADDR,HTTP_X_FORWARDED_FOR,HTTP_USER_AGENT,HTTP_REFERER">
<INPUT TYPE=hidden NAME="required" VALUE="tel">
</form>
<?
	}
else
	{
?>
<h1>Спасибо! данные введены успешно!</h1>
<?
	};
?>

</body>
</html>
 

die_hard

Новичок
Не проверял - многа букф.
Но на вскидку - конечно тема должна быть в неправильной кодировке. в хедерах win1251 - в теме Koi8-R.

А вообще в чем у вас проблема по сути?

html-ое письмо должно прийти но не приходит? а приходит кака?
 

Фанат

oncle terrible
Команда форума
Тема закрыта.

Формулируйте вопрос так, чтобы его могли понять не только Вы.
Не пишите больше 10-15 строк кода.
Никто не будет вникать в Ваш код длиной 100 строк.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху