Кириллица в функции mail в PHP

| 5 |

Бывает, когда делаешь простенькую форму обратной связи для сайта и непременно пользуясь функцией mail(), в который раз забываешь, а как же правильно отправить заголовки, чтобы кириллица во всех браузерах и почтовых клиентах отображалась правильно?

Для этого нужно немного. Вот, например, такой кусочек кода:

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $to = 'name@mail.domain'; 
    $subject = 'На сайте заполнена контактная форма ';    
    $body ="От: $name\n E-Mail: $email\n Текст:\n $message";
    $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
    $headers.="From: mypost@mail.domain\nReply-To: no-reply@mail.domain\r\n";
    $headers.="Content-type: text/plain; charset=UTF-8\r\n";
    $headers.="Content-transfer-encoding: quoted-printable";
    
    if (mail ($to, $subject, $body, $headers)) {
     $result='<div class="alert alert-success">Спасибо! Ваше письмо отправлено</div>'; 
    } else {  
     $result='<div class="alert alert-danger">Что-то не так... Попробуйте позже</div>';
    }

Думаю, стоит ещё напомнить, раз в этом кусочке кода упоминается кодировка utf-8, то и файл с кодом должен быть в этой кодировке.

Если вам понравился или пригодился текст, вы всегда можете отблагодарить!

Пожертвовать мне на кофе 3USD:

5 комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *