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]   

> Описание: Письмо и вложение на неизменяемый E-mail
Shmatko
Отправлено: 16 Июля, 2008 - 11:54:22
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2008  


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




Я уже обращался с подобной просьбой. Модератор удалил мою тему. О PHP у меня поверхностное представление, учить этот язык, для одной задачи у меня нет времени. Но скрипт нужен позарез. На этом форуме есть пример скрипта для отправки сообщения и вложения с веб страницы на E-mail Но данном скрипте нужно вводить E-mail на который будет отправляться сообщение, а мне нужно, чтобы сообщение оправлялось на конкретный адрес и отправитель указывал мне свой E-mail.
Ведь можно исправить скрипт http://php.su/articles/?cat=exam...les&page=060 под мою задачу? Если можно, то помогите это сделать. Я не рублю в этом. К большому моему сожалению.
 
 Top
valenok
Отправлено: 16 Июля, 2008 - 23:51:24
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




PHP:
скопировать код в буфер обмена
  1. <HTML>
  2.  
  3. <HEAD>
  4.  
  5. <TITLE>Отправка сообщения с вложением</TITLE>
  6.  
  7. </HEAD>
  8.  
  9. <BODY>
  10.  
  11. <H3> <center><font color=#1E90FF>Отправка сообщения с вложением</font></H3>
  12.  
  13. <center>
  14.  
  15. <table width=1 border=0>
  16.  
  17. <form action=simple_mail.php enctype='multipart/form-data' method=post>
  18.  
  19.  
  20.  
  21. <tr><td width=50%>To:</td><td align=right>Администрация</td></tr>
  22.  
  23. <tr><td width=50%>Subject:</td><td align=right><input type=text name=mail_subject maxlength=64></td></tr>
  24.  
  25. <tr><td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea></td>
  26.  
  27. <tr><td width=50%>Photo:</td><td align=right><input type=file name=mail_file maxlength=64></td></tr>
  28.  
  29. </tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr>
  30.  
  31. </form>
  32.  
  33. </table>
  34.  
  35. </center>
  36.  
  37. </BODY>
  38.  
  39. </HTML>




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4. $mail_to = "Rabinovich@ya.ru";
  5.  
  6.  
  7.  
  8.  
  9.   if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
  10.  
  11.   // проверяем правильности заполнения с помощью регулярного выражения
  12.  
  13.   //if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to']))
  14.  //  exit("Введите адрес в виде somebody@server.com");
  15.  
  16.   # $_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to']));
  17.  
  18.   $_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
  19.  
  20.   $_POST['mail_msg'] = htmlspecialchars(stripslashes($_POST['mail_msg']));
  21.  
  22.   $picture = "";
  23.  
  24.   // Если поле выбора вложения не пустое - закачиваем его на сервер
  25.  
  26.   if (!empty($_FILES['mail_file']['tmp_name']))
  27.  
  28.   {
  29.  
  30.     // Закачиваем файл
  31.  
  32.     $path = $_FILES['mail_file']['name'];
  33.  
  34.     if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
  35.  
  36.   }
  37.  
  38.   $thm = $_POST['mail_subject'];
  39.  
  40.   $msg = $_POST['mail_msg'];
  41.  
  42.   # $mail_to = $_POST['mail_to'];
  43.  
  44.   // Отправляем почтовое сообщение
  45.  
  46.   if(empty($picture)) mail($mail_to, $thm, $msg);
  47.  
  48.   else send_mail($mail_to, $thm, $msg, $picture);
  49.  
  50.   // Вспомогательная функция для отправки почтового сообщения с вложением
  51.  
  52.   function send_mail($to, $thm, $html, $path)
  53.  
  54.   {
  55.  
  56.     $fp = fopen($path,"r");
  57.  
  58.     if (!$fp)
  59.  
  60.     {
  61.  
  62.       print "Файл $path не может быть прочитан";
  63.  
  64.       exit();
  65.  
  66.     }
  67.  
  68.     $file = fread($fp, filesize($path));
  69.  
  70.     fclose($fp);
  71.  
  72.    
  73.  
  74.     $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  75.  
  76.     $headers .= "MIME-Version: 1.0\n";
  77.  
  78.     $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
  79.  
  80.     $multipart .= "--$boundary\n";
  81.  
  82.     $kod = 'koi8-r'; // или $kod = 'windows-1251';
  83.  
  84.     $multipart .= "Content-Type: text/html; charset=$kod\n";
  85.  
  86.     $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
  87.  
  88.     $multipart .= "$html\n\n";
  89.  
  90.  
  91.  
  92.     $message_part = "--$boundary\n";
  93.  
  94.     $message_part .= "Content-Type: application/octet-stream\n";
  95.  
  96.     $message_part .= "Content-Transfer-Encoding: base64\n";
  97.  
  98.     $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
  99.  
  100.     $message_part .= chunk_split(base64_encode($file))."\n";
  101.  
  102.     $multipart .= $message_part."--$boundary--\n";
  103.  
  104.  
  105.  
  106.     if(!mail($to, $thm, $multipart, $headers))
  107.  
  108.     {
  109.  
  110.       echo "К сожалению, письмо не отправлено";
  111.  
  112.       exit();
  113.  
  114.     }
  115.  
  116.   }
  117.  
  118. ?>



Форматирование сохранено.
За безопасность и качество я не отвечаю.
За них стоит лучше заплатить


-----
Truly yours, Sasha.
 
My status
 Top
Shmatko
Отправлено: 17 Июля, 2008 - 14:49:33
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2008  


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




Заплатить я готов. Ну это, конечно сколько заплатить. Вообщем, я изменил адрес Рабиновича на свой, обработчик закачал в папку, где и форма, но у меня ничего не работает. Вот Ваш вариант http://biokatalizator[dot]shmatko[dot]biz/html/Otz1[dot]html
Мой вариант, я переделывал скрипт анкеты, здесь почта отправляется, вложение нет. http://biokatalizator[dot]shmatko[dot]biz/html/Otz[dot]html
Сейчас буду пробывать делать гибрид с двух обработчиков. Нужно учить PHP!!!!Модератору большое спасибо!
 
 Top
valenok
Отправлено: 17 Июля, 2008 - 15:07:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




Нужно заккоментировать вот этот кусочек кода.
PHP:
скопировать код в буфер обмена
  1.   //if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to']))
  2.  //  exit("Введите адрес в виде somebody@server.com");


-----
Truly yours, Sasha.
 
My status
 Top
Shmatko
Отправлено: 18 Июля, 2008 - 13:07:36
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2008  


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




Закомментировал. Пришлось закомментировать и строчку : if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
Теперь выдаёт ошибку
Warning: copy(1165478441_lada_revolution.jpg) [function.copy]: failed to open stream: Permission denied in /home2/shmatko/public_html/bioka talizator/html/simple_mail.php on line 34
Я так понимаю, что ошибка в 34 строке. Как эти строки считать, не знаю. Модератор помоги пожалуйста исправить ошибку.

(Отредактировано автором: 18 Июля, 2008 - 13:08:59)

 
 Top
valenok
Отправлено: 18 Июля, 2008 - 13:09:05
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




У вас нет прав на копироавние файлов.
Попробуйте выставить права записи на папку в которую копируются файлы.


-----
Truly yours, Sasha.
 
My status
 Top
Shmatko
Отправлено: 18 Июля, 2008 - 13:09:57
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2008  


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




valenok пишет:
У вас нет прав на копироавние файлов.
Попробуйте выставить права записи на папку в которую копируются файлы.

Ок! Сейчас попробую.
(Добавление)
Все работает. Права сделал 777. Большое спасибо модератору. Вопрос, если это не затруднит. Можно ли в HTML форме заменить To: и Subject: на русские надписи. E-mail: Администратора и "Укажите свой E-mail" Читал, что русские символы нужно преобразовать в безопасный набор http://habrahabr[dot]ru/blog/webdev/32489[dot]html У меня есть уже готовая форма под ввод надписей в кириллице, вот бы к этой форме прикрепить функцию отправки вложения. Может, кто возьмется переделать скрипт. В нем уже есть функция проверки неправильного ввода данных, появляется новая HTML форма для изменения данных. Да и письмо приходит с адреса отправителя, а не с хоста. Вот пример: я уже приводил его. http://biokatalizator[dot]shmatko[dot]biz/html/Otz[dot]html
Если есть у кого желание я могу выслать скрипт для его переделки
 
 Top
valenok
Отправлено: 18 Июля, 2008 - 15:11:16
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




МНе кажется вам чтоб иметь сайт нужно либо заплатить кому то, либо самим выучиьт как минимум html. Всё остальное бессмыслено. В том числе и читать умные статьи бог знает кем написанные и что там говорят.


-----
Truly yours, Sasha.
 
My status
 Top
Shmatko
Отправлено: 18 Июля, 2008 - 15:43:44
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2008  


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




Ура скрипт заработал! Вот: http://biokatalizator[dot]shmatko[dot]biz/html/Otz1[dot]html
Модератору огромное спасибо!!!!
Язык учить надо! Я согласен на все 100% Но вот, что без этих знаний все бесмысленно! Я не согласен.
Вот мой первый сайт http://igrokod[dot]narod[dot]ru/ Что такое HTML даже не слышал.
http://ippf[dot]shmatko[dot]biz/ Сайт для своего предприятия не доделал. Считаю, что интернет должен приносить деньги хозяину сайта!
Вот уже для зарабатывания денег: http://shmatko[dot]biz/ и другая тема http://biokatalizator[dot]shmatko[dot]biz/
Это мои будущие рекламные площадки мой форум http://www[dot]shmatko[dot]biz/forum_mlm/index.php
Моя доска объявлений http://www[dot]shmatko[dot]biz/shachty_board/index.php
А это мой магазин, эксперементировал, вот что получилось http://www[dot]shmatko[dot]biz/shop/index.php
Не скажу, что я совем не знаю языка HTML, скажу, что знания мои приближаются к нулю, даже не к 1. Язык буду учить и учу! Модератору, ещё раз большое спасибо!

(Отредактировано автором: 19 Июля, 2008 - 05:32:56)

 
 Top
ASHOOT-x86
Отправлено: 26 Июля, 2008 - 12:16:30
Post Id



Новичок


Покинул форум
Сообщений всего: 53
Дата рег-ции: Июль 2008  
Откуда: Россия, Краснодар


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $theme = "=?windows-1251?B?".base64_encode($theme)."?=";
  3. ?>

(Добавление)
Это чтоб тема на русском языке нормально отображалась, а не была похожа на древние письменаУлыбка


-----
PHP - рулезУлыбка
 
My status
 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