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й час сижу и порядком нервничаю. Помогите пожалуйста.
  • Вопрос задан
  • 3092 просмотра
Решения вопроса 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
от 300 000 до 500 000 ₽
07 мая 2024, в 23:46
3000 руб./за проект
07 мая 2024, в 23:32
1200 руб./в час
07 мая 2024, в 23:27
1000 руб./за проект