|

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
|