PHP mail (); Как установить кодировку для темы и электронной почты

Я использую следующий код для отправки электронного письма:

<?php
$to = $_POST['email'];
$subject = "Subject!";
$message = "Hello!";
$headers = "From: Me<example@example.com>\r\n";
$headers .= "Return-Path: example@example.com\r\n";
$headers .= "BCC: example@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
mail($to,$subject,$message,$headers);
?>

Хотя с помощью charset=utf-8 символы в теме и строке адреса электронной почты по-прежнему не декодируются правильно. Я получаю такие персонажи: ößä,

Как я могу также установить кодировку для темы и строки адреса электронной почты?

0

Решение

Чтобы закодировать тему письма, вы должны использовать:

$subject = '=?utf-8?B?'.base64_encode($subject).'?=';

А потом внутри mail функция:

mail($to,$subject,...);
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector