Всем доброго дня.
Имеется типичный код:
<?
$message = "";
$to = 'toemail@mail.ru';
$from = "=?UTF-8?b?" . base64_encode($_GET['mail']) . "?=";
$subject = "=?UTF-8?b?" . base64_encode("Theme - 1") . "?=";
$mail_body = "Поступил " . "123" . " новый ответ от формы обратной связи.\r\nАвтор оставил такие данные:\r\n";
$header = "MIME-Version: 1.0\n";
$header .= "Content-Type: text/plain; charset=UTF-8\n";
$header .= "From: ". $from . " <" . "support@dfnts.com" . ">";
echo $mail_body;
//Отправка сообщения
if(mail($to, $subject, $mail_body, $header)
{ echo "<div class='error'>Ваше сообщение успешно отправлено!</div>"; }
else{ echo "<div class='error'>Ваше сообщение не отправлено!</div>"; }
?>
Обратите внимание на переменную mail_body. В ней происходит объединение строк. Далее эта переменная выступает как тело письма в функции Mail(). После запуска в окне браузера я вижу:
Поступил 123 новый ответ от формы обратной связи. Автор оставил такие данные:
Ваше сообщение успешно отправлено!
На почте же, в теле письма пришел только:
0
Интересно то, что есть убрать операцию объединения строк в переменной mail_body, тогда ее содержимое придет в нормальном виде.
Как с этим бороться?