Я использую следующий код для отправки электронного письма:
<?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
символы в теме и строке адреса электронной почты по-прежнему не декодируются правильно. Я получаю такие персонажи: ößä
,
Как я могу также установить кодировку для темы и строки адреса электронной почты?
Чтобы закодировать тему письма, вы должны использовать:
$subject = '=?utf-8?B?'.base64_encode($subject).'?=';
А потом внутри mail
функция:
mail($to,$subject,...);
Других решений пока нет …