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
Форумы портала PHP.SU :: Версия для печати :: отправки почтового сообщения с вложением
Форумы портала PHP.SU » » Вопросы новичков » отправки почтового сообщения с вложением

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

1. Григорий - 31 Марта, 2012 - 17:38:29 - перейти к сообщению
Добрый всем вечер.
Я пользуюсь такой функцией:

PHP:
скопировать код в буфер обмена
  1. Function mail_to($to, $from, $subj, $text, $files=null){
  2. $boundary = md5(uniqid(time()));
  3. $headers[] ="MIME-Version: 1.0";
  4. $headers[] ="Content-Type: multipart/mixed;boundary=\"$boundary\"; type=\"text/html;\"";
  5. $headers[] ="From: ".$from;
  6. $headers[] ="Reply-To: ".$from;
  7. $headers[] ="Return-Path: ".$from;
  8. $headers[] ="X-Mailer: PHP/" . phpversion();
  9.  
  10. $multipart[]= "--".$boundary;
  11. $multipart[]= "Content-Type: text/html; charset=utf-8";
  12. $multipart[]= "Content-Transfer-Encoding: Quot-Printed";
  13. $multipart[]= ""; // раздел между заголовками и телом html-части
  14. $multipart[]= $text;
  15. $multipart[]= "";
  16.  
  17. if ((is_array($files))&&(!empty($files)))
  18.         {
  19.         foreach($files as $filename => $filecontent)
  20.                 {
  21.                 $multipart[]="--".$boundary;
  22.                 $multipart[]= "Content-Type: application/octet-stream; name=\"".$filename."\"";
  23.                 $multipart[]= "Content-Transfer-Encoding: base64";
  24.                 $multipart[]= "Content-Disposition: attachment; filename=\"".$filename."\"";
  25.                 $multipart[]= "";
  26.                 $multipart[]= chunk_split(base64_encode($filecontent));
  27.                 }
  28.         }
  29.  
  30. $multipart[]= "--$boundary--";
  31. $multipart[]= "";
  32. $headers=implode("\r\n", $headers);
  33. $multipart=implode("\r\n", $multipart);
  34. if (mb_detect_encoding($subj, "UTF-8")==FALSE)
  35. $subj= mb_encode_mimeheader($subj,"UTF-8", "B", "\n");
  36.  
  37. return mail($to, $subj, $multipart, $headers);
  38. }
  39.  
  40. $to="Test <TEST@TEST.RU>";
  41. $from="Test <TEST1@TEST.RU>";
  42. $subj="Привет мир!";
  43. $text='<HTML><HEAD><IMG border=0 alt=HevyWeb src="http://www.hevyweb.com.ua/templates/new/images/logo.jpg" width=314 height=173><B>Привет мир</B>';
  44. $path_to_file=dirname(__FILE__).DIRECTORY_SEPARATOR."text.txt";
  45. $files = array('text.txt' => file_get_contents($path_to_file));
  46.  
  47. If (mail_to($to, $from, $subj, $text, $files))
  48.         {
  49.         Echo "Письмо удачно отправлено";
  50.         }
  51. Else
  52.         {
  53.         Echo "Сбой при отправлении письма";
  54.         }


Здесь описано как отправить письмо с вложением
прикрепляется один файл

Вопрос
Как прикрепить к письму несколько файлов???
2. flashcsgroup - 19 Марта, 2014 - 13:49:29 - перейти к сообщению
А в ответ - тишина Радость
3. armancho7777777 - 19 Марта, 2014 - 14:09:39 - перейти к сообщению

 

Powered by ExBB FM 1.0 RC1