Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка посты с вложением

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuller
Отправлено: 21 Сентября, 2012 - 17:42:51
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




Нашел функцию отправки почты с вложением. Не могу разобраться почему когда отправляю письмо, в результате письмо приходит нормально, а файл прикреплен Untitled.bin расширение всегда разное зависит от того с какого хостинга отправлять.

Помогите решить проблему. вот сам код

PHP:
скопировать код в буфер обмена
  1.  
  2. function mail_to($to, $from, $subj, $text, $files=null)
  3. {
  4.         $boundary = md5(uniqid(time()));
  5.         $headers[] ="MIME-Version: 1.0";
  6.         $headers[] ="Content-Type: multipart/mixed;boundary=\"$boundary\"; type=\"text/html;\"";
  7.         $headers[] ="From: ".$from;
  8.         $headers[] ="Reply-To: ".$from;
  9.         $headers[] ="Return-Path: ".$from;
  10.         $headers[] ="X-Mailer: PHP/" . phpversion();
  11.  
  12.         $multipart[]= "--".$boundary;
  13.         $multipart[]= "Content-Type: text/html; charset=utf-8";
  14.         $multipart[]= "Content-Transfer-Encoding: Quot-Printed";
  15.         $multipart[]= ""; // раздел между заголовками и телом html-части
  16.         $multipart[]= $text;
  17.         $multipart[]= "";
  18.  
  19.         if((is_array($files))&&(!empty($files)))
  20.         {
  21.                 foreach($files as $filename => $filecontent)
  22.                 {
  23.                         $multipart[]="--".$boundary;
  24.                         $multipart[]= "Content-Type: application/octet-stream; name=\"".$filename."\"";
  25.                         $multipart[]= "Content-Transfer-Encoding: base64";
  26.                         $multipart[]= "Content-Disposition: attachment; filename=\"".$filename."\"";
  27.                         $multipart[]= "";
  28.                         $multipart[]= chunk_split(base64_encode($filecontent));
  29.                 }
  30.         }
  31.  
  32.         $multipart[] = "--$boundary--";
  33.         $multipart[] = "";
  34.         $headers = implode("\r\n", $headers);
  35.         $multipart = implode("\r\n", $multipart);
  36.         if(mb_detect_encoding($subj, "UTF-8")==FALSE)
  37.         $subj= mb_encode_mimeheader($subj,"UTF-8", "B", "\n");
  38.  
  39.         return mail($to, $subj, $multipart, $headers);
  40. }
  41.  
  42.  
  43. $to = "test@mail.ru";
  44. $ot_mail = check($_POST['meil']);
  45. $fio = check($_POST['fio']);
  46. $zvonit = check($_POST['zvonit']);
  47. $mess = check($_POST['mess']);
  48. $subj = "тема";
  49. $text = "<p><img src='logo.png'></p> Имя: $fio <br /> Телефон: $zvonit <br /> E-mail: $ot_mail <br /><br /> $mess";
  50.  
  51. $uploaddir = './upload/';
  52. move_uploaded_file($_FILES['filename']['tmp_name'], $uploaddir . totranslit($_FILES['filename']['name']));
  53.  
  54. $files = array($_FILES['filename']['name'] => file_get_contents($uploaddir.totranslit($_FILES['filename']['name'])));
  55.  
  56. if(mail_to($to, $ot_mail, $subj, $text, $files))
  57. {
  58.         echo "Письмо удачно отправлено";
  59. }else{
  60.         echo "Сбой при отправлении письма";
  61. }
  62.  
 
 Top
Okula
Отправлено: 21 Сентября, 2012 - 18:04:49
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




kuller, если нехватает знаний для того чтобы написать самому - воспользуйся готовым решением http://swiftmailer[dot]org/
 
 Top
kuller
Отправлено: 21 Сентября, 2012 - 20:57:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




ну а все же в чем ошибка?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB