Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Функция mail() кодировка на сервисе mail.ru

Ответить
Настройки темы
Функция mail() кодировка на сервисе mail.ru

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.
Имеется код для отправки почтовых сообщений с вложенным файлом. На сервисы yandex, gmail, pochta письма приходят и отображаются корректно, на сервис mail письмо приходит со знаками вопросов вместо русских букв в открытом письме,









при этом в кратком обзоре русские буквы отображаются верно.









Подскажите, пожалуйста, что необходимо исправить в коде, чтобы на всех почтовых сервисах письма отображались корректно?

Код: Выделить весь код
<?php
  $filename = "text.txt"; //Имя файла для прикрепления
  $to = "mail@mail.ru";
  $from = "from@from.ru"; //От кого
  $subject = "Рус-тема"; //Тема
  $message = "Русский!"; //Текст письма
  $boundary = "---"; //Разделитель
  /* Заголовки */
  $headers = "From: $from\nReply-To: $from\n";
  $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
  $body = "--$boundary\n";
  /* Присоединяем текстовое сообщение */
  $body .= "Content-type: text/html; charset='utf-8'\n";
  $body .= "Content-Transfer-Encoding: quoted-printablenn";
  $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
  
  $body .= $message;
  
  $body .= "\n";
  $body .= "--$boundary\n";
  $file = fopen($filename, "r"); //Открываем файл
  $text = fread($file, filesize($filename)); //Считываем весь файл
  fclose($file); //Закрываем файл
  /* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */
  $body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename)."?=\n"; 
  $body .= "Content-Transfer-Encoding: base64\n";
  $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename)."?=\n\n";
  $body .= chunk_split(base64_encode($text))."\n";
  $body .= "--".$boundary ."--\n";
  mail($to, $subject, $body, $headers); //Отправляем письмо
?>

Отправлено: 09:17, 07-11-2012

 


Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Функция mail() кодировка на сервисе mail.ru

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интернет - Кодировка текста писем у Почта Windows Live (Windows Live Mail) Valmont Windows Live (архив) 8 23-03-2013 04:41
AD+DNS+mail.***.ru kolonhoe Microsoft Windows NT/2000/2003 2 12-07-2012 13:18
Есть такая функция у mail.ru в Мой Мир, Которая бы не давала скачивать мои личные фот micro8 Хочу все знать 9 08-07-2010 17:39
E mail __sa__nya Программное обеспечение Windows 3 02-07-2007 08:56
Yahoo mail & Mail Client Torsten Хочу все знать 3 18-09-2006 15:44




 
Переход