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 :: Скрипт отправки сообщений с 4-мя вложениями

 PHP.SU

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


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

> Без описания
Vadim_BV
Отправлено: 29 Апреля, 2016 - 14:50:36
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


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




Доброго времени суток, уважаемые. Требуется помощь.
Дано:
HTML – страница с со следующими полями:
CODE (html):
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3. <TITLE>Отправка сообщения с вложением</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <H3> <center><font color=#1E90FF>Отправка сообщения с вложением</font></H3>
  7. <center>
  8. <table width=1 border=0>
  9. <form action=simple_mail.php enctype='multipart/form-data' method=post>
  10.  
  11. <tr><td width=50%>To:</td><td align=right><input type=text name=mail_to maxlength=32></td></tr>
  12. <tr><td width=50%>Subject:</td><td align=right><input type=text name=mail_subject maxlength=64></td></tr>
  13. <tr><td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea></td>
  14. <tr><td width=50%>Photo1:</td><td align=right><input type=file name=mail_file_1 maxlength=64></td></tr>
  15. <tr><td width=50%>Photo2:</td><td align=right><input type=file name=mail_file_2 maxlength=64></td></tr>
  16. <tr><td width=50%>Photo3:</td><td align=right><input type=file name=mail_file_3 maxlength=64></td></tr>
  17. <tr><td width=50%>Photo4:</td><td align=right><input type=file name=mail_file_4 maxlength=64></td></tr>
  18.  
  19. </tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr>
  20. </form>
  21. </table>
  22. </center>
  23. </BODY>
  24. </HTML>


PHP – страница отправки сообщений с вложением.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   $_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
  3.   $_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg']));
  4.   $picture = "";
  5.   // Если поле выбора вложения не пустое - закачиваем его на сервер
  6.   if (!empty($_FILES['mail_file']['tmp_name']))
  7.   {
  8.     // Закачиваем файл
  9.     $path = $_FILES['mail_file']['name'];
  10.     if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
  11.   }
  12.  
  13.   $mail_to = "mail@mail.ru";
  14.   $thm = $_POST['mail_subject'];
  15.   $msg = $_POST['mail_msg'];
  16.  
  17.   // Отправляем почтовое сообщение
  18.  
  19.   if(empty($picture)) mail($mail_to, $thm, $msg);
  20.   else send_mail($mail_to, $thm, $msg, $picture);
  21.   // Вспомогательная функция для отправки почтового сообщения с вложением
  22.   function send_mail($to, $thm, $html, $path)
  23.   {
  24.     $fp = fopen($path,"r");
  25.     if (!$fp)
  26.     {
  27.       print "Файл $path не может быть прочитан";
  28.       exit();
  29.     }
  30.     $file = fread($fp, filesize($path));
  31.     fclose($fp);
  32.     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  33.     $headers .= "MIME-Version: 1.0\n";
  34.     $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  35.     $multipart .= "--$boundary\n";
  36.     $kod = 'koi8-r'; // или $kod = 'windows-1251';
  37.     $multipart .= "Content-Type: text/html; charset=$kod\n";
  38.     $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
  39.     $multipart .= "$html\n\n";
  40.  
  41.     $message_part = "--$boundary\n";
  42.     $message_part .= "Content-Type: application/octet-stream\n";
  43.     $message_part .= "Content-Transfer-Encoding: base64\n";
  44.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  45.     $message_part .= chunk_split(base64_encode($file))."\n";
  46.     $multipart .= $message_part."--$boundary--\n";
  47.  
  48.     if(!mail($to, $thm, $multipart, $headers))
  49.     {
  50.       echo "К сожалению, письмо не отправлено";
  51.       exit();
  52.     }
  53.   }
  54. ?>


Требуется: допилить скрипт для отправки до 4-х вложений в одном сообщении (включая возможность корректной отправки сообщений без вложений, а также отправка сообщений с 1-м, 2-мя, 3-мя вложениями из возможных 4-х).

Собственно, какова цена вопроса и сколько времени займет?
 
 Top
caballero
Отправлено: 29 Апреля, 2016 - 16:47:25
Post Id


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


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


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




возьми http://swiftmailer[dot]org/ или типа того и не будет никакой цены вопроса.

(Отредактировано автором: 29 Апреля, 2016 - 16:48:34)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Vadim_BV
Отправлено: 01 Мая, 2016 - 16:20:00
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2016  


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




Нет времени и желания разбираться в этом самому, собственно по этому и отписался в разделе FreeLance. Если проще подключить указанную библиотеку, то можно и так сделать. Кто нибудь готов помочь в решении вопроса?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« FreeLance »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB