Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: мейл
 
 автор: LimP   (03.12.2004 в 22:14)   письмо автору
 
 

подскажите плиз,как мне скритом php отправить сообщение на емаил,чтобы оно содержало картинки,можно было бы управлять стилями текста...а то я пробовал как html, не получается...второй день голову ломаю над этим...

   
 
 автор: cheops   (03.12.2004 в 23:01)   письмо автору
 
   для: LimP   (03.12.2004 в 22:14)
 

Вот функция, созданная Кузнецовым М.В., позволяющая отправить письмо как HTML-текст, а картинки как вложения:
<?php
  
// Функция для отправки почтового сообщения с вложением
  
function send_mail($to$thm$html$path)
  {
    
$fp fopen($path,"r");
    if (!
$fp)
    {
      print 
"Файл $path не может быть прочитан";
      exit();
    } 
    
$file fread($fpfilesize($path));
    
fclose($fp);
    
$path substr($path,12);
  
    
$boundary "--".md5(uniqid(time())); // генерируем разделитель
    
$headers .= "MIME-Version: 1.0\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"
    
$multipart .= "--$boundary\n"
    
$kod 'koi8-r'// или $kod = 'windows-1251';
    
$multipart .= "Content-Type: text/html; charset=$kod\n"
    
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"
    
$multipart .= "$html\n\n"

    
$message_part ""
    
$message_part .= "Content-Type: application/octet-stream"
    
$message_part .= "; file_name = \"$path\"\n"
    
$message_part .= "Content-Transfer-Encoding: base64\n"
    
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"
    
$message_part .= chunk_split(base64_encode($file))."\n";
    
$multipart .= "--$boundary\n".$message_part."--$boundary--\n";

    if(!
mail($to$thm$multipart$headers))
    {
      echo 
"К сожалению, письмо не отправлено";
      exit();
    }
  }
?>


http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=361

   
 
 автор: LimP   (06.12.2004 в 20:47)   письмо автору
 
   для: cheops   (03.12.2004 в 23:01)
 

а можно ли как-нибудь добавить эту функцию,чтобы она еще и адрес отправителя тоже могла посылать...

   
 
 автор: cheops   (06.12.2004 в 20:57)   письмо автору
 
   для: LimP   (06.12.2004 в 20:47)
 

Вставьте между строк
<?php
    $headers 
.= "MIME-Version: 1.0\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
?>

следующий заголовок
<?php
    $headers 
.= "MIME-Version: 1.0\n"
    
$headers .= "From: someone@someplace.ru\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
?>

заменив someone@someplace.ru на нужный адрес.

   
 
 автор: Merlin   (26.03.2005 в 20:19)   письмо автору
 
   для: cheops   (03.12.2004 в 23:01)
 

Помагите пожалуйста мне я не знаю ведь програмирования Мне б и HTML форму отправки.... Очень жду письма на admin@mw-ds.com

   
 
 автор: cheops   (26.03.2005 в 21:39)   письмо автору
 
   для: Merlin   (26.03.2005 в 20:19)
 

HTML-форма для отправки письма может выглядеть так, как это представлено ниже
<HTML>
<HEAD>
 <TITLE>Отправка сообщения</TITLE>
</HEAD>
<BODY>
<H3> <? print "<center>"?> <font color=#1E90FF> Отправка сообщения </font></H3>
<center>
 <table width=1 border=0>
 <form action=handler.php method=post>
 <input type=hidden name=action value=post>
 <tr>
  <td width=50%>To:</td>
  <td align=right><input type=text name=mail_to maxlength=32></td>
 </tr>
 <tr>
  <td width=50%>Subject:</td>
  <td align=right><input type=text name=mail_subject maxlength=64></td>
 </tr>
 <tr>
  <td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea>
  </td>
 </tr>
 <tr>
  <td width=50%>File:</td>
  <td align=right><input type=file name=attach maxlength=32></td>
 </tr>
 <tr><td colspan=2><input type=submit value='Отправить'></td>
 </tr>
 </form>
 </table>
</center>
</BODY>
</HTML>

Её обработчик handler.php содержит в себе проверку на загрузку файла, которая происходит в директорию files (она должна существовать и права доступа на неё должны быть выставлены таким образом, чтобы скрипт мог писать в директорию)
<?php 
  $picture 
"";
  
// Если поле выбора вложения не пустое - по
  
if (!empty($_FILES['attach']['tmp_name']) && $_FILES['attach']['tmp_name'] != "-")
  {
    
// Закачиваем файл
    
$path="files/".$_FILES['attach']['name']; 
    
// Путь указан верно, так как в админе нужно поднятся на два каталога вверх,
    // а на сайте на один
    
if (copy($_FILES['attach']['tmp_name'], $path)) $picture $path;
  }
  
// 
  
if(empty($picture)) mail($_POST['mail_to'], $_POST['mail_subject'], $_POST['mail_msg']);
  else 
send_mail($_POST['mail_to'], $_POST['mail_subject'], $_POST['mail_msg'], "../".$picture);
?>

PS Обычно, при общении в форумах, не принято ответы отсылать на почту. Так как форумы создаются для того, чтобы полученная в ходе обсуждения информация стала достоянием общественности и другие посетители также могли бы воспользоваться этим результатом. Нам, в общем всё-равно, но фраза "Очень жду письма на admin@mw-ds.com" является грубым нарушением сетевой этики - обычно на форумах такие фразы являются красной тряпкой и началом яростного флейма, основной смысл которого сводится к тому, что если у отвечающих находится время разобраться в вопросе и поместить ответ, то спрашивающий должен платить той же монетой и караулить свой ответ в форуме, а не пассивно ждать когда решение само свалиться по почте, "хлеб за брюхом не ходит" и т.д., т.п.

   
 
 автор: ДЯДЯДЯ   (30.04.2005 в 22:15)   письмо автору
 
   для: cheops   (26.03.2005 в 21:39)
 

<form action=mail.php method=post>
<input type=file name=path maxlength=32>
<input type=submit value='Отправить'>

Вот форма надо просто отправаить картинку!
Что-то этот код ПХП что в самом верху не пашет !
Может я что-то провтыкал!
Можете плиз написать что надо именно написать в mail.php

   
 
 автор: cheops   (30.04.2005 в 22:35)   письмо автору
 
   для: ДЯДЯДЯ   (30.04.2005 в 22:15)
 

Приведите плиз код обработчика: как он у вас сейчас выглядит?

   
 
 автор: ДЯДЯДЯ   (30.04.2005 в 23:31)   письмо автору
 
   для: cheops   (30.04.2005 в 22:35)
 

Дык, понимаешя что-то не понял!
Какая функция за что отвечает у вас (я же не просто к вам зашел а искал как написать отправку отсюда следует что пользуюсь вашим кодом :)
я что-то не понял последнюю функцию(ну как бы все понятно) но за что она отвечает тоже! но как она связана с самой верхней функцией ?( именно кодом(а так то понятно))

Вообщем вожеш написать полную функцию для отправкти

   
 
 автор: cheops   (30.04.2005 в 23:48)   письмо автору
 
   для: ДЯДЯДЯ   (30.04.2005 в 23:31)
 

Это просто вызов верхней функции, т.е. верхнуюю функцию следует поместить в файл с обработчиком, где происходит её вызов. Или имеется ввиду что-то другое?

   
 
 автор: ДЯДЯДЯ   (01.05.2005 в 00:33)   письмо автору
 
   для: cheops   (30.04.2005 в 23:48)
 

Так как это вызов верхней функции если нижняя функция тоже отправляет почтовое сообщение?

И в коде над тогда прописать нижнюю, потом верхнюю функцию
Стоп! У меня на акшине висит mail.php в нем я пишу нижнюю а потом верхнюю н функцию

   
 
 автор: cheops   (01.05.2005 в 01:20)   письмо автору
 
   для: ДЯДЯДЯ   (01.05.2005 в 00:33)
 

А не могли бы вы прикрепить файл mail.php к сообщению, чтобы было более понятно о чём речь?

   
 
 автор: ДЯДЯДЯ   (02.05.2005 в 22:25)   письмо автору
 
   для: cheops   (01.05.2005 в 01:20)
 

Не понимаете вы написали функцию отправки сообщения с вложением!

Можете написать полностью функцию отправки сообщения с вложением !
(напарился уже и так и сяк не как не хочет!)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования