samoilenkoevgeniy
@samoilenkoevgeniy
Lead Full-Stack Web Developer

Как решить проблему при отправке писем на outlook?

Доброго времени суток!
Отправляю таким способом письма.
Везде все в полнейшем порядке (mail.ru, gmail, yandex).

$name = $_POST['name'];
    $phone = $_POST['phone'];
    $email = $_POST['email'];
    $msg = $_POST['msg'];
    $email_to = "mail@mail.ru";

    $mail = '
	
            Имя:'. $name .'
            Телефон:'. $phone .'
            Email:'. $email .'
            Сообщение:'. $msg .'
			
    ';
    $headers= "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/plain; charset=\"utf-8\" \r\n";
    $headers .= "From: Euro sito <no-reply@example.com> \r\n";

    $result = mail($email_to, 'Обратная связь', $mail, $headers);

    $link = "Location: ".getenv("HTTP_REFERER");


Но если получатель смотрит письмо в outlook, то мы получаем примерно следующее:
хЛЪ:п═я┐я│я│п╨п╦
            рЕКЕТНМ:я┌п╣я│я┌
            Email:я▐п╥я└п╨п╟
            яННАЫЕМХЕ:п╪п╟я└п╟п╨п╟


Кодировка скрипта отправки - utf-8.
Если поменять на ANSI - тело письма остается то же, но заголовок (тема письма) ОТОБРАЖАЕТСЯ ПО-РУССКИ и абсолютно нормально.

В общем. Уже 3й час сижу и порядком нервничаю. Помогите пожалуйста.
  • Вопрос задан
  • 3094 просмотра
Решения вопроса 1
А если попробовать так, то что будет?
$result = mail($email_to, "=?utf-8?B?" . base64_encode('Обратная связь') . "?=", $mail, 'Content-type: text/plain; charset="UTF-8"\r\n')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@XProx
Кодер
Попробуйте
1.header('Content-Type: text/html; charset=utf-8');
2. Установите кодировку utf-8 без BOM
3. Если не получиться не мучайтесь есть
PHPMailer
Ответ написан
Ваш ответ на вопрос

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

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