Въпрос със кодировката с mail скрипт

baraban

Registered
Имам следния скрипт:
PHP:
<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
	$error.="Invalid email address entered";
	$errors=1;
}
if($errors==1) echo $error;
else{
	$values = array ('name','email','message');
	$required = array('name','email','message');

	$your_email = "ra55@abv.bg";
	$email_subject = "New Message: ".$_POST['subject'];
	$email_content = "new message:\n";

	foreach($values as $key => $value){
	  if(in_array($value,$required)){
		if ($key != 'subject' && $key != 'company') {
		  if( empty($_POST[$value]) ) { echo 'PLEASE FILL IN REQUIRED FIELDS'; exit; }
		}
		$email_content .= $value.': '.$_POST[$value]."\n";
	  }
	}

	if(@mail($your_email,$email_subject,$email_content)) {
		echo 'Message sent!';
	} else {
		echo 'ERROR!';
	}
}
?>
Записан е на УТФ-8
Страницата с формата също.
Като изпратя писмо с кирилица излизат маймуни.
Как да оправя нещата?
 
за да стане на кирилица .. трябва да добавиш хедъри към емйла си ..

няма смисал да ти обяснявам , едвали ще го разбереш но ето ти един готов скрипт , който написах ... :)


$tema = $_POST[\'tema\'];
$msg = htmlspecialchars(mysql_escape_string($_POST[\'msg\']));
$header=\"Content-Type: text/html; charset=\\\"windows-1251\\\"\\n\";
$from_email = htmlspecialchars($_POST[\'email\']);

mail(\'твояЕмаил@абв.бг\', $tema, $msg,$header,\'-f\'.$from_email);
echo \"sichko e ok :)\";


готов си .. :)
п.с: ако ти изкарва повече обратни черти , ги махни .. само да зн че не е от мене.. :)
 
M1tq96 каза:
за да стане на кирилица .. трябва да добавиш хедъри към емйла си ..

няма смисал да ти обяснявам , едвали ще го разбереш но ето ти един готов скрипт , който написах ... :)


$tema = $_POST[\'tema\'];
$msg = htmlspecialchars(mysql_escape_string($_POST[\'msg\']));
$header="Content-Type: text/html; charset=\\"windows-1251\\"\\n";
$from_email = htmlspecialchars($_POST[\'email\']);

mail(\'твояЕмаил@абв.бг\', $tema, $msg,$header,\'-f\'.$from_email);
echo "sichko e ok :)";


готов си .. :)
п.с: ако ти изкарва повече обратни черти , ги махни .. само да зн че не е от мене.. :)


<off>Това с чертите ти го прави някоя добавка. Виж си добавките и я махни.</off>
 

Back
Горе