Я хотел бы вставить специальные символы в тему HTML-сообщений электронной почты, отправленных с помощью функции PHP mail ().
Я хочу, чтобы моя тема выглядела так:
★ Ваш новый аккаунт
Я пробовал с HTML-объектом вроде ★
(& starf;) или путем вставки символа непосредственно в мой код, но это тоже не работает, за исключением нескольких почтовых клиентов.
$to = 'me@example.com'; $subject = '★ Your new account or ★ Your new account'; $message = 'HTML message...'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $headers .= 'From: Me <me@example.com>' . "\r\n"; mail($to, $subject, $message, $headers);
Любые советы о том, как заставить это работать правильно? Спасибо.
Попробуйте по теме:
$sub = '=?UTF-8?B?'.base64_encode($subject).'?=';
А потом:
mail($to, $sub, $message, $headers);
$headers=""; $message = utf8_encode($message); $message = wordwrap($message, 70, "\r\n"); $subject = '=?UTF-8?B?'.base64_encode(utf8_encode($subject)).'?='; $to_name = '=?UTF-8?B?'.base64_encode(utf8_encode($to_name)).'?='; $from_name = '=?UTF-8?B?'.base64_encode(utf8_encode($from_name)).'?='; $headers .= "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type: text/plain; charset=utf-8" . "\r\n"; //$headers .= "Content-Transfer-Encoding: quoted-printable" . "\r\n"; $headers .= "From: $from_name <$from_email>" . "\r\n"; $headers .= "To: $to_name <$to_email>" . "\r\n"; $headers .= "Subject: $subject" . "\r\n"; $headers .= "X-Mailer: PHP/" . phpversion(); mail("", $subject, $message, $headers);