@sfumato
Не IT-спец, хотя [корявые] сайты пишу сам ;-)

Неопознаваемая кодировка поступающей с сайта почты?

Друзья, добрый день!

Все страницы сайта (под Linux-хостингом) - на UTF-8, что разумеется, прописано (начало HTML:

<!DOCTYPE html>
<html lang="ru-RU" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
.......


Далее - php:

<?php

	$errors = array();

	if (!isset($_POST['name'])) {
		$errors['name'] = 'Введите, пожалуйста, своё имя.';
	}

	if (!isset($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
		$errors['email'] = 'Введите, пожалуйста, адрес своей электронной почты';
	}

	if (!isset($_POST['message'])) {
		$errors['message'] = 'Напишите, пожалуйста, откуда Вы узнали о нас';
	}

	$errorOutput = '';

	if(!empty($errors)){

		$errorOutput .= '<div class="alert alert-danger alert-dismissible" role="alert">';
 		$errorOutput .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';

		$errorOutput  .= '<ul>';

		foreach ($errors as $key => $value) {
			$errorOutput .= '<li>'.$value.'</li>';
		}

		$errorOutput .= '</ul>';
		$errorOutput .= '</div>';

		echo $errorOutput;
		die();
	}



	$name = $_POST['name'];
	$email = $_POST['email'];
	$message = $_POST['message'];
	$from = $email;
	$to = 'anton@post.com';  
	$subject = 'Contact Form : Anton';

	$body = "From: $name\n E-Mail: $email\n Message:\n $message";

	$headers = "From: ".$from;


	$result = '';
	if (mail ($to, $subject, $body, $headers)) {
		$result .= '<div class="alert alert-success alert-dismissible" role="alert">';
 		$result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
		$result .= 'Спасибо за подписку! 
';
		$result .= '</div>';

		echo $result;
		die();
	}

	$result = '';
	$result .= '<div class="alert alert-danger alert-dismissible" role="alert">';
	$result .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
	$result .= 'Something bad happend during sending this message. Please try again later';
	$result .= '</div>';

	echo $result;</b>


Однако, что ни делаю, приходят кракозябры, которые даже перекодировщик лишь частично разбирает (в частности, большие буквы не конвертирует, да и строчные - не все)...

В чём может быть причина и как её исправить?

Заранее признателен.
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 2
romanko_vn
@romanko_vn
Попробуй добавить это
$body .= "Content-type: text/html; charset='utf-8'\n";
Ответ написан
Комментировать
@sfumato Автор вопроса
Не IT-спец, хотя [корявые] сайты пишу сам ;-)
Благодарю, Валентин. Не помогло.
Попробовал адрес e-mail поменять

$admin_to = "ossimoro@yandex.ru";

, так на yandex.ru оказывается, почему-то вообще не приходят письма... !
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы