Показать сообщение отдельно

  #65  
Старый 07.04.2007, 20:21
Аватар для mamamot
mamamot
Познающий
Регистрация: 20.02.2007
Сообщений: 41
Провел на форуме:
38505

Репутация: 48
Отправить сообщение для mamamot с помощью ICQ
По умолчанию

Отправка анонимных сообщений с вложениями. Отправляет сообщения от указанного вами пользователя и с указанного мыла всем указанным в файле maillist.txt
Он должен иметь вид:

Код:
lol1@mail.ru
lol2@mail.ru
lol3@mail.ru
т.е. по одному мылу в строку без разделителя
PHP код:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Anonym mail sender with attachment</title>
</head>
<body>
<form method="POST" >
<input name="action" type="hidden" value="send" />
<p><label for="from_mail" >С какого адреса e-mail: <input type="text" name="from_mail" /></label></p>
<p><label for="from_name" >От чьего имени: <input type="text" name="from_name" /></label></p>
<p><label for="path" >Относительный путь к файлу: <input type="text" name="path" /></label></p>
<p><label for="theme" >Тема: <input type="text" name="theme" /></label></p>
<textarea name="message" cols="30" rows="5" ></textarea>
<input type="submit" name="submit" value="Начать" />
</form>

<?php

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

    
$message_part "--$boundary\n"
    
$message_part .= "Content-Type: application/octet-stream\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 .= $message_part."--$boundary--\n"
    
    
// Начинаем отправку
    
    
$str_to=file_get_contents("maillist.txt");
    
$maillist=explode("\r\n",$str_to);
    foreach(
$maillist as $mail)
    {
        if(!
mail($mail$thm$multipart$headers)) 
        { 
            echo 
"Не отправлено:".$mail."<br />"
        }
        else
        {
            echo 
"Отправлено:".$mail."<br />" ;
        }
    }
  } 
  
  
    if(isset(
$_POST['action']) && $_POST['action']=="send")
    {
        echo 
"<br />Начинаем отправку<br />";
        
send_mail($_POST['from_name'],$_POST['from_mail'],$_POST['theme'],$_POST['message'],$_POST['path']);
    }
    

echo 
"</body>";
echo 
"</html>";
?>
Писал сам
 
Ответить с цитированием