function mail_utf8($to, $from, $subject, $message)
{
$subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .= "From: $from\r\n";
return mail($to, $subject, $message, $headers);
}
// пример использования
mail_utf8('to-user@gmail.com', 'no-reply@example.ru', 'Заголовок сообщения', 'Текст сообщения');
Комментарии
Спасибо, помогло:)
Так это одно и тоже!
И я всегда пишу вторым методом, чтобы переменная подсвечивалась в редакторе (у меня синим) - так её видно хорошо, а не серым в тексте, да ещё и напрягать мозг: какие я там кавычки использую, а то в одинарных переменная не превратится в своё содержимое, а так и выведется как $from. А люблю одинарные...)))
только во второй строке вы не добавили пробел: $headers .= 'From: '. $from."\n";
А в конце двойные опять, а то перевод строки не сработает. Наверное достаточно юниксовского, а не видовского?
xandeadx - я же прав?
Чета меня сегодня прет на комменты...)))
недостаточно
Лучше всего использоваться библиотеку PHPMailer. Через неё очень удобно отправлять письма, особенно добавлять вложения
Спасибо. Очень помогло. Спам фильтр не пропускал письма ни на один из сервисов, пока не прописал данную функцию.
Спасибо за свежую мысль!
Возможно ли решить проблему корректной кодировки текста писем с помощью Вашей функции без переделки всего сайта под кодировку utf-8 (очень бы не хотелось, сайт сделан на кодировке cp_1251)?
php 5.4.45
Добавить комментарий