Проблем с encoding при изпращане на email

vladislav

Registered
Здравейте,
ползвам този код за изпращане на email , има проблем с със текстовете на кирилица в съобщението
Като получа emaila на пощата $subject и #message са йероглифи и не се показват на кирилица, windows-1251 не помага
"Съобщение от потребител на********:\r\n" този текст си го получавам на кирилица, нешщата получитени от html формата не са

Мерси предварително


PHP:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php 
// declare values 
$contact_email = $_POST['email']; 
$contact_subject = $_POST['about']; 
$contact_name = $_POST['name']; 
$contact_message = $_POST['message']; 
$mydate = date ( 'l, F d Y g:i A',time()+240 ); 
// where to send e-mail to 
$to = '**********'; //тук въведете вашия e-mail (на който искате потребителите да изпращате e-mail) 
// e-mail subject 
$subject = "Съобщение от потребител на *******"; //тук на мястото на domain въведете името (не url-a) на вашия сайт 

// e-mail message 

$message = "Съобщение от потребител на********:\r\n" //тук на мястото на domain отново въведете името (не url-a) на вашия сайт 


."----------------------------------------------------------------\r\n" 
."Име: $contact_name\r\n" 
."Тема: $contact_subject\r\n" 
."Дата: $mydate\r\n" 
."$contact_message" ; 

$headers = "From: $contact_name <$contact_email>\n" 
."Reply-To: $contact_email\n" 
."X-Mailer: PHP/".phpversion(); 
$headers .= 'Content-Type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n";
$headers .= $message . "\r\n";

// check for validation, then send the e-mail 
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) 
{ 
} 
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $contact_email)) { 
echo "<p>Грешка: Моля въведете валиден e-mail.</p>"; 
}
 else
 { 
mail( $to, $subject, $message, $headers ); 
echo "<h3>Съобщението беше успешно изпратено!</h3><p> $contact_name,<br /><br />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email."; 
} 
?>
 
$headers = "From: $contact_name <$contact_email>\n"
."Reply-To: $contact_email\n"
."X-Mailer: PHP/".phpversion();
$headers .= 'Content-Type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: 8bit'. "\n\r\n";
$headers .= $message . "\r\n";
 
Оправих го, проблема беше че енкодинга на страницата с формата беше различен ... Благодаря!
 
Проблема се реши с UFT-8 ако пощата в която получавам е gmail но в abv.bg
нещата не са добре.. пак йероглифи, някакви идеи? Като сменям windows-1251 пак не се получава в abv
 
http://nau4i.me/forum/index.php/topic,14601.msg33533.html#msg33533
Ползвай примера от последния пост, просто махни цикъла :?:
Така ще си решиш всякакви проблеми за антиспам и т.н.
 

Горе