Изпращане на емейл от php

Teodotko

Registered
Здравейте , имам малък проблем с кода на формата за контакти. Когато получа съобщението на пощата си излиза по този начин : ЎСЉРѕР±С‰РµРЅРёРµ РѕС

Опитах да променя $headers = "Content-Type: text/html;charset=utf-8"
на windows-1251 , но пак не става :(

Код:
<?php include("header.php"); ?>
<?php 
$sql = mysql_query("SELECT * FROM `settings` ");
$row = mysql_fetch_array($sql);
?>
<center><font size="3">
Получить дополнительную информацию о нас и наших услугах Вы можете <br />по телефону, факсу, электронной почте, через форму для обратной связи, а также в офисах нашей компании.
<br /><br />БОЛГАРИЯ<br />
г. Варна, 9000<br />
Ж.К. „Чайка” 98<br />
Тел. +359 52 699 077<br />
Моб. Тел. +359 889 765 844<br />
E-mail: office@buldom.net<br /></font>
<link rel="stylesheet" type="text/css" href="view.css" media="all">
<script type="text/javascript" src="view.js"></script>
<?php 
// declare values 
$contact_email = $_POST['EmailAddress']; 
$contact_subject = $_POST['Subject']; 
$contact_name = $_POST['FullName']; 
$contact_message = $_POST['Message']; 
$mydate = date ( 'l, F d Y g:i A',time()+240 ); 

// where to send e-mail to 
$to = 'nedqlkov@mail.bg'; //тук въведете вашия e-mail (на който искате потребителите да изпращате e-mail) 

// e-mail subject 
$subject = "Съобщение от потребител на realestate cms"; //тук на мястото на domain въведете името (не url-a) на вашия сайт 

// e-mail message 
$message = "Съобщение от потребител на realestate cms:<br />" //тук на мястото на domain отново въведете името (не url-a) на вашия сайт 


."----------------------------------------------------------------<br />" 
."Име: $contact_name<br />" 
."Тема: $contact_subject<br />" 
."Дата: $mydate<br />" 
."От IP: {$_SERVER['REMOTE_ADDR']}<br /><br />" 
."<b>Съобщение:</b> $contact_message<br />" 
."Form Address: {$_SERVER['SERVER_NAME']}{$_SERVER['REQUEST_URI']}"; 

$headers = "Content-Type: text/html;charset=utf-8"
."From: $contact_name <$contact_email>\n" 
."Reply-To: $contact_email\n" 
."X-Mailer: PHP/".phpversion(); 

// check for validation, then send the e-mail 
if(empty($contact_name) || empty($contact_email) || empty($contact_subject) || empty($contact_message)) { 
echo '
<form method="post" action=""> 
<table class="sample"> 
<tbody> 
<tr><td>Получатель:</td><td><input type="text" name="do" size="20" value="office@buldom.net" /></td><br> 
<tr><td>Ваше име:</td><td><input type="text" name="FullName" size="20" /></td><br> 
<tr><td>Ваш е-mail:</td><td colspan="3"><input type="text" name="EmailAddress" size="20" /></td></tr><br>
<td>Тема:</td><td><input type="text" name="Subject" size="20" /></td></tr> 
<tr><td colspan="4">Сообщение:</td></tr> 
<tr><td colspan="4"><textarea rows="6" name="Message" cols="47" class="input"></textarea></td></tr> 
<tr><td colspan="4" class="right1"><input type="submit" value="Изпрати" /><input type="reset" value="Изчисти" /></td></tr> 
</tbody> 
</table> 
</form></center>'; 
} elseif(preg_match("^[_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 />Възможно най - скоро ще отговорим на вашето съобщение на e-mail $contact_email."; 
} 
?>
<?php include("footer.php"); ?>
 
Ето ти една моя работеща функция:
PHP:
function send_mail_activate($recipient,$code,$name){
    require_once 'Mail.php';

    $host = "mail server";
    $port='587';
    $username = "mail username";
    $password = "mail pass";

    $name=htmlspecialchars_decode($name);
    $from = "Sender <email address>";
    $to = " <$recipient>";
    $subject = "Subject";
    $body = "mail goes here in html format  ";

    $headers = array ('From' => $from,
        'To' => $to,
        'Subject' => $subject,
        'Content-Type'=>'text/html; charset="UTF-8"',
        'html_charset' => 'UTF-8',
        'text_charset' => 'UTF-8',
        'head_charset' => 'UTF-8',
        'Content-Transfer-Encoding'=>'8bit');
    $smtp = Mail::factory('smtp',
        array ('host' => $host,
            'port'=>$port,
            'auth' => true,
            'username' => $username,
            'password' => $password));

    $mail = $smtp->send($to, $headers, $body);

    if (PEAR::isError($mail)) {
        return $mail->getMessage();
    } else {
        return true;
    }
}
 

Back
Горе