
07.04.2007, 20:21
|
|
Познающий
Регистрация: 20.02.2007
Сообщений: 41
Провел на форуме: 38505
Репутация:
48
|
|
Отправка анонимных сообщений с вложениями. Отправляет сообщения от указанного вами пользователя и с указанного мыла всем указанным в файле 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($fp, filesize($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>";
?>
Писал сам 
|
|
|