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

  #296  
Старый 02.08.2007, 21:59
aivus
Новичок
Регистрация: 25.12.2006
Сообщений: 17
Провел на форуме:
65328

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

Цитата:
Сообщение от Krueger  
http://pear.php.net/package/Mail_Mime
качаем отсюда пакет и пишем код подобный примеру:
Код:
<?php
include('Mail.php');
include('Mail/mime.php');

$text = 'Text version of email';
$html = '<html><body>HTML version of email</body></html>';
$file = '/home/richard/example.php';
$crlf = "\n";
$hdrs = array(
              'From'    => 'you@yourdomain.com',
              'Subject' => 'Test mime message'
              );

$mime = new Mail_mime($crlf);

$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$mime->addAttachment($file, 'text/plain');

//do not ever try to call these lines in reverse order
$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$mail =& Mail::factory('mail');
$mail->send('postmaster@localhost', $hdrs, $body);
?>
При необходимости меняем
Код:
$mime->addAttachment($file, 'text/plain');
на
Код:
$mime->addHTMLImage ($file, 'image/jpeg');
или аналогичное.
А нах качать этот пакет? без него никак?

Код:
<?php 
session_start(); // открываем сессию
ignore_user_abort(1); //отключаем возможность остановки
set_time_limit(0); // Снимаем ограничение по времени
error_reporting(0); // Отключаем вывод ошибок

?>
<style type="text/css"> <!-- тут все как обычно, таблица стилей -->
      html{
	overflow-x: auto;
 }


      body{ 
	background: #E5E5E5;
	color: #222;
	font-family: Verdana, Tahoma, Arial, Trebuchet MS, Sans-Serif, Georgia, Courier, Times New Roman, Serif;
	font-size: 11px;
	line-height: 135%;
	margin: 0;
	padding: 0;
	text-align: center;
 }
      .button{
	background: Silver;
	border: 1px solid Silver;
	color: #000;
	font-family: Verdana, Helvetica, Sans-Serif;
	font-size: 11px;
	padding: 2px;
	vertical-align: middle;
 }
</style>
<html>
<title>Е-mail спамер</title>
<br>
<FORM ACTION="?" method="post">
<br><b>E-mail'ы получателей...: </b><br>
<TEXTAREA NAME="adres" WRAP="physical " COLS="40" ROWS="5"><? echo $adres; ?></TEXTAREA><BR>
<br><b>Тема сообщения......: </b> <INPUT TYPE="text" NAME="subject" VALUE="<? echo $subject; ?>" SIZE="30" MAXLENGTH="30"><BR>
<br><b>От кого отправлять..: </b> <INPUT TYPE="text" NAME="from" VALUE="<? echo $from; ?>" SIZE="30" MAXLENGTH="30"><BR>
<br><b>Ваше сообщение:</b><br>
<TEXTAREA NAME="mess" WRAP="virtual" COLS="60" ROWS="10"><? echo $mess; ?></TEXTAREA>
<br><br><br>
<input type="hidden" name="action" value=""><input type="submit" class="button" value="Отправить"> <input type="reset" class="button" value="Очистить">
</FORM>
<form action='?action=add_file' method=post ENCTYPE='multipart/form-data'>Путь к файлу : <!-- тут мы добавили новый элемент для загрузки файла-->
<input name='userfile' value='' type='file'><input type='submit' value='Загрузить'></form>

<?
if (isset($_SESSION['name'])) echo "Добавленые файлы: ".htmlspecialchars($_SESSION['name'])."<br>"; // тут мы выводим имя загруженого файла
?> 

<?
if ($action=='add_file'){ // добавляем файл на сервер

	copy($_FILES['userfile']['tmp_name'], "./".$_FILES['userfile']['name']); //копируем его

	$_SESSION['name']=$_FILES['userfile']['name']; //юзаем сессии
	$_SESSION['type']=$_FILES['userfile']['type'];

	echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL={$REQUEST_URL}?action=\">"; // переадресация
	exit();

}
if (isset($action) and $action==''){


	if (empty($adres) or empty($subject) or empty($mess)){

		print "<b><font color=\"red\">Пожалуйста, заполните все поля...</font></b><br>";

		exit;

	}

$adres=split("\n", $adres);

$headers.= "From: $from\n"; // формируем заголовок
$headers.= "Content-Type: {$_SESSION['type']}; name=\"{$_SESSION['name']}\"\n";
$headers.= "Content-Transfer-Encoding: base64\n";
$headers.= "Content-Disposition: attachment; filename=\"{$_SESSION['name']}\"\n\n";

$fp = fopen($_SESSION['name'], 'r'); // читаем файл и добавляем его в атач сообщения
do 
{
        $data = fread($fp, 8192);
        if (strlen($data) == 0) break;
        $content .= $data;
      } while (true);
$content_encode = chunk_split(base64_encode($content));
$headers .= $content_encode . "\n";

for ($k=0; $k<=(sizeof($adres)-1); $k++){ // отправляем

	echo 'Выполняется отправка сообщения на '.$adres[$k].'...';

	$result=mail($adres[$k],$subject,$mess,$headers);
		if ($result==true)
			echo '<font color="green">OK!</font><br>';
		else
			echo '<font color="red">ERROR!</font><br>';
		}
	echo 'Отправка завершена!';
}

?>
Это пример спамера юзающего атачи... Все что необходимо это правильно составить заголовок(header)
 
Ответить с цитированием