Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
гинеколог
1 / 1 / 1
Регистрация: 14.03.2012
Сообщений: 78
1

Проблемы в кодировках при отправке письма с вложениями

17.08.2013, 07:38. Просмотров 1027. Ответов 1
Метки нет (Все метки)

Добрый день!
При отправке письма с вложением вместо нормальных русских букв в тексте приходит типа такого п╟пЁп╟ если кодировка utf-8? причем так в майле, на яндекс почту все нормально отображается, при смене кодировок текст сообщения отображается нормально, но вместо темы сообщения появляются черные ромбики со знаками вопроса.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function send_mail($value, $thema, $msg, $path) { 
 // Вспомогательная функция для отправки почтового сообщения с вложением
 // Параметры - адрес получателя, тема письма, текст письма, путь к загруженному файлу
 if ($path) {  
  $fp = fopen($path,"rb");   
  if (!$fp) { print "Cannot open file"; exit(); }   
  $file = fread($fp, filesize($path));   
  fclose($fp);   
 }  
 $name = basename($path); // в этой переменной надо сформировать имя файла (без пути)  
 $EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
 $boundary     = "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.  
 $headers    = "MIME-Version: 1.0;$EOL";   
 $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
 $headers   .= "From: admin@mail.com";  
 $multipart  = "--$boundary$EOL";
 $multipart .= "------------".$bondary."\nContent-Type:text/html;\n";
 $multipart .= "Content-Transfer-Encoding: 8bit\n\n$msg\n\n";
 $multipart .= $EOL; // раздел между заголовками и телом html-части 
 $multipart .=  "$EOL--$boundary$EOL";   
 $multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";   
 $multipart .= "Content-Transfer-Encoding: base64$EOL";   
 $multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";   
 $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла 
 $multipart .= chunk_split(base64_encode($file));   
 $multipart .= "$EOL--$boundary--$EOL";   
 if (!mail($value, $thema, $multipart, $headers)) { //если не письмо не отправлено
  return false;           
 }  
 else { // если письмо отправлено
  return true;
  
 }  
 
}
 
 
send_mail('erik@mail.ru', "тема" , "текст сообщения", 'attention_sign.gif');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2013, 07:38
Ответы с готовыми решениями:

Косяки при отправке письма на почту
Всем привет. Возникла следующая проблема. Отправляю на почту письмо...

Кавычками при отправке HТМL письма [PHP]
Если написать, например, <a hreff="www.yandex.ru">ссылка<a/> то получается вот...

Ошибка при отправке
Доброго времени суток. Столкнулся с проблемой при отправки заявки с сайта....

Кодировка при отправке данных формы
Помогите, пожалуйста, решить проблему. При отправке данных формы на e-mail...

Ошибка 500 при отправке данных
При первом запросе на отправку данных выходит ошибка 500 ....

1
PlumBoom
:)
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
19.08.2013, 00:57 2
В том скрипте, где используется эта функция в самом вверху пропишите
PHP
1
header('Content-type: text/html; charset=utf-8');
а также не забудьте установить meta-тег, указывающий кодировку, в html-странице (при условии, если данные приходят с формы); или проверьте кодировку файла, если текст в самом скрипте.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2013, 00:57

не записываются данные при отправке запроса почему
1.php <!DOCTYPE html> <html lang="ru"> <head> <title>Заголовок</title>...

Теряются вложения при массовой отправке писем
Всем привет. Для отправки писем использую PhpMailer (точнее, расширение для...

Формирование номера заказа при отправке форм
Здравствуйте. У меня есть несколько форм на странице, на каждую из них скрипт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru