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]   

> Описание: не могу добавить несколько вложений
vaanyaa
Отправлено: 22 Марта, 2010 - 13:03:19
Post Id


Новичок


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


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




Добрый день.
Появилась такая проблемка. нужно отправлять почтой несколько вложений. Есть скрипт отправки письма с одним вложением который работает.
Вот заголовки:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  3.     $headers .= "MIME-Version: 1.0\n";
  4.     $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  5.     $multipart .= "--$boundary\n";
  6.     $kod = 'windows-1251';
  7.     $multipart .= "Content-Type: text/html; charset=$kod\n";
  8.     $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
  9.     $multipart .= "$html\n\n";
  10.     $message_part = "--$boundary\n";
  11.     $message_part .= "Content-Type: application/octet-stream\n";
  12.     $message_part .= "Content-Transfer-Encoding: base64\n";
  13.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  14.     $message_part .= chunk_split(base64_encode($file))."\n";
  15.     $multipart .= $message_part."--$boundary--\n";
  16.  
  17.  
  18.  


Подскажите какие из этих залоговков надо дублировать, или какой другой механизм использовать для нескольких файлов.
Спаси[бо|те]
 
 Top
Тоха
Отправлено: 22 Марта, 2010 - 13:13:48
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Март 2010  
Откуда: Орел, Россия


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




все. В том числе и разделитель в конце. Только генерировать его опять не надо Улыбка
(Добавление)
хотя нет, вру, извините.
PHP:
скопировать код в буфер обмена
  1. $message_part = "--$boundary\n";
  2.     $message_part .= "Content-Type: application/octet-stream\n";
  3.     $message_part .= "Content-Transfer-Encoding: base64\n";
  4.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  5.     $message_part .= chunk_split(base64_encode($file))."\n";


Вот непосредственно вложение
 
 Top
kroks
Отправлено: 22 Марта, 2010 - 13:49:46
Post Id



Новичок


Покинул форум
Сообщений всего: 42
Дата рег-ции: Янв. 2010  
Откуда: Россия, Белгород


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

[+]


А ты из нескольких вложений сделай одно. Попробуй все в архив положить
 
 Top
vaanyaa
Отправлено: 22 Марта, 2010 - 13:52:16
Post Id


Новичок


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


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




Добавил ваш кусочек кода. Все равно пришел один вложенный файл
(Добавление)
kroks пишет:
А ты из нескольких вложений сделай одно. Попробуй все в архив положить


Дело в том что вне нужно не конкретные файлы отослать. А что бы была реализована возможность отправлять несколько файлов.


Прошу прощения, вопрос снимается.(в коде пропустил одну точку)))

(Отредактировано автором: 22 Марта, 2010 - 14:06:14)

 
 Top
AlexMen
Отправлено: 05 Июля, 2016 - 16:44:39
Post Id



Новичок


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


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




Всех приветствую!
Пришлось поднять старую тему, просто проблема та же - при использовании кода приходит только одно вложение (последнее).

Помогите, пожалуйста, исправить. Вот код:
PHP:
скопировать код в буфер обмена
  1. $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  2. $headers .= "MIME-Version: 1.0\n";
  3. $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  4. $multipart .= "--$boundary\n";
  5. $kod = 'utf-8';
  6. $multipart .= "Content-Type: text/plain; charset=$kod\n";
  7. $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
  8. $multipart .= "$text\n\n";
  9. $message_part = "--$boundary\n";
  10. $message_part .= "Content-Type: application/octet-stream\n";
  11. $message_part .= "Content-Transfer-Encoding: base64\n";
  12. $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  13. $message_part .= chunk_split(base64_encode($file))."\n";
  14.         if ($picture2 != "") {
  15.                 $message_part .= "--$boundary\n";
  16.                 $message_part .= "Content-Type: application/octet-stream\n";
  17.                 $message_part .= "Content-Transfer-Encoding: base64\n";
  18.                 $message_part .= "Content-Disposition: attachment; filename = \"".$path2."\"\n\n";
  19.                 $message_part .= chunk_split(base64_encode($file))."\n";
  20.                                 }
  21.         if ($picture3 != "") {
  22.                 $message_part .= "--$boundary\n";
  23.                 $message_part .= "Content-Type: application/octet-stream\n";
  24.                 $message_part .= "Content-Transfer-Encoding: base64\n";
  25.                 $message_part .= "Content-Disposition: attachment; filename = \"".$path3."\"\n\n";
  26.                 $message_part .= chunk_split(base64_encode($file))."\n";
  27.                                 }
  28. $multipart .= $message_part."--$boundary--\n";
  29. mail($email,$subject,$multipart,$headers);

(Отредактировано автором: 05 Июля, 2016 - 16:46:07)

 
 Top
caballero
Отправлено: 05 Июля, 2016 - 17:23:43
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




за четыре года можно было бы уже додуматся использолвать например SwiftMailer а не писать это вручную.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
AlexMen
Отправлено: 05 Июля, 2016 - 17:33:08
Post Id



Новичок


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


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




caballero, а вместо того чтобы умничать, что-то конструктивное по вопросу сказать нельзя?
Я в поиске тему нашел, т.к. вопрос возник только что.

(Отредактировано автором: 05 Июля, 2016 - 17:33:46)

 
 Top
caballero
Отправлено: 05 Июля, 2016 - 22:12:07
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




это и есть конструктивно.
Нужно использовать библиотеку где уже отлажен протокол в соответствии со всеми тонкостями стандарта а не лепить самопал


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB