Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #29, АПРЕЛЬ 2003 г.

TIPS OF WEB: php для самых маленьких

Sevranty

Спецвыпуск Xakep, номер #029, стр. 029-114-3


$msg .= " \n";

$msg .= "------------------------------------------\n";

$msg = convert_cyr_string($msg,'w','k');

if ($message=="Incognito (none@email.me):") { $send = 'bad'; }

else {

$topic = "COMMENT. feedback";

$email="comment@domen.ru";

mail($email, $topic, $msg, "From: comment@domen.ru");

$send = 'ok';

}

$goto = 'Location: '.$urlback.'?send='.$send;

Header($goto);

?>

Здесь мы увидим много интересного и непонятного %-). Для начала узнаем дату, когда же нам умудрился написать этот чел. Получив это время поточнее %-), мы его вставим в сообщение, которое будем себе отправлять. Также допишем в сообщение IP чела и имя его хоста. А еще допишем урл, с которого отправлено сообщение, чтобы знать, что же чел комментирует. Теперь вставим сам текст сообщения. Для того чтобы я потом не парился, переконвертирую это все из win-1251 в koi8-r (у меня почтовый клиент больше любит koi8-r). Если сообщение, которое нам запостили, является пустышкой, отсылаем обратно с сообщением об ошибке. Если сообщение не пустышка, то посылаю письмо на свой адрес comment@domen.ru и выдаю сообщение, что ВСЕ ОК. Теперь переправил пользователя обратно на страницу, с которой он имел наглость запостить мессагу :).

В теле нашей формы есть проверка на присутствие ответа скрипта-посланца. Если ошибка, он пишет: "Твой треш не был отправлен". Если сообщение отправлено нормально, то он пишет: "Твои комменты успешно запостены".

TIPSa 8

Рассылка

Для создания рассылки нам необходим такой минимум: php, sendmail, 3 файла на серваке. Первый файл - mail_db.txt, в нем записаны адреса, на которые мы хотим разослать свои письма. На каждой строчке один e@mail. Например:

none@none.ru

none@mail.ru

none@inbox.ru

Второй файл - это само сообщение, которое мы хотим безжалостно скинуть на всех. Например:

Привет, великий ALL.

ЭТО ТЕСТ!

Пока.

Третий файл maillist.php - это скрипт рассылки. Он же будет показывать нам результат своей работы.

<html>

<head>

<meta http-equiv=content-type content="text/html; charset=windows-1251">

<title>Рассылка почты:</title>

</head>

<body>

<h1>Рассылка почты:</h2>

<hr noshade size="2" color="#D40000">

<?php

$password = "mailok";

echo "<b>Подключение файлов:</b><br>\n\n";

echo "1. "; $temp = file("message.txt"); $sendread = join("", $temp); echo "message.txt - тело сообщения<br>";

?>

<hr noshade size="2" color="#D40000">

<?php

echo "<b>Композиция сообщения:</b><br>\n\n";

$msg = "";

$msg .= $sendread; $msg .= " \n";

echo "<pre>".$msg."</pre>";

?>

<hr noshade size="2" color="#D40000">

<?php

echo "<b>Подключение списка адресов:</b><br>\n\n";

$mailfile = fopen ("mail_db.txt", "r");

if (!$mailfile) { echo "<p>Unable to open remote file ".$mailfile." \n"; }

while (!feof($mailfile))

{

$read = fgets($mailfile, 2048);

list($emails) = split(" ",$read);

ereg_replace("\n","",$emails);

$email[]=$emails;

}

fclose($mailfile);

$cemail = count($email);

$i = 0;

echo "<br><b>Всего записей в файле: ".$cemail."</b><br>\n\n";

Назад на стр. 029-114-2  Содержание  Вперед на стр. 029-114-4