Forum Webscript.Ru
Программирование => PHP => Тема начата: tarya от 21 Марта 2003, 17:23:13
-
сегодня один баран знакомый прислал мне много одинаковых писем какой то прогой, и погрозился меня закидать 50000 писем чтоб у нас сервер лег. Ну я так подумал и решил ему почты послать, ради интереса, и вот сижу пишу почтовый скрипт, чтоб все письма были разные, но вот беда! чтото не получватся мне настроить чтоб письма были постоянно с разных адресов все выходит с такого на какой первый индекс выпал.
вот весь код
$to = "tarya@xxx.com";
$from = array ("mail", "admin", "poschta", "pastor", "aleksey", "hirurg", "chat", "adminchat", "forum", "test", "formula", "invictory", "masyanya", "igor_filipov", "news", "cits", "info", "kitay", "kukuruza", "kirok_felipov");
$subject = array ("сколько лет", "мой друг приехал", "поздравляю", "ты лучший", "вы выиграли путевку в Багдад", "где ты пропал?", "с новым годом", "от пастора Игоря филиповича", "музыкальные клипы", "секты и христиане", "о чем шепчут соловьи", "куда деться ", "отдых на Гаямах", "пожертвование", "Новый Иерусалим - последний альбом", "В Китае умерли все зоторские птицы!", "Запор - чем помочь?", "Козлы и мы", "Кто я?", "Друг ты нам нужен!");
if ($action == "go")
{
// ставим скрипт "на счетчик" (чтобы знать, как долго он выполнялся)
$ttt=microtime();
$ttt=((double)strstr($ttt, \' \')+(double)substr($ttt,0,strpos($ttt,\' \')));
for ($x=0 ; $x<$s; $x++) :
mt_srand((double)microtime()*1000000);
$rand = mt_rand( 1, 19); //выбор случайный int rand ([int min [, int max]]) для банеров
define (\'ADMIN_EMAIL\',\'$from[$rand]@invictory.org\'); //установка "от"
//хедера
//часть 1
$header .= "From: ". ADMIN_EMAIL ."\\n";
$header .= "X-Mailer: $from[$rand]@invictory.org\\n";
$header .= "Reply-To: ". ADMIN_EMAIL ."\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/related; boundary=\\"=_$uid\\"\\n\\n\\n\\n";
//часть 2
$header .= "--=_$uid\\n"; //разделитель
$header .= "Content-Type: text/html; charset=windows-1251\\n";
$header .= "Content-Transfer-Encoding: Quot-Printed\\n\\n";
$header .= "\\n";
$header .= ":)";
$header .= "\\n\\n";
mail ($to, $subject[$rand], "", $header);
echo "$from[$rand]!";
endfor;
// считаем, как долго работал скрипт
$ddd=microtime();
$ddd=((double)strstr($ddd, \' \')+(double)substr($ddd,0,strpos($ddd,\' \')));
echo ("
Время отправки писем: ".(number_format(($ddd-$ttt),3))." секунд
");
}
но чтото пурга получается, не получается у меня сделать постоянно меняющийся емаил "от"
кто чем может - помогите
-
господи, детский сад, младшая группа. играем в войнушку...
-
RomikChef
ну родимый, дело принципа, я понимаю что детский сад но всеже хотелось бы узнать! ну может подскажешь, родимый, я знаю ты столько всего знаешь, помоги
-
убери константу и сделай переменную $ADMIN_EMAIL ;)
-
$ADMIN_EMAIL = define (\'ADMIN_EMAIL\',\'$from[$rand]@invictory.org\'); //установка "от"
чтото такое?
я незнаю что такое константа
-
нет не получается, выходит так.
// ставим скрипт "на счетчик" (чтобы знать, как долго он выполнялся)
$ttt=microtime();
$ttt=((double)strstr($ttt, \' \')+(double)substr($ttt,0,strpos($ttt,\' \')));
for ($x=0 ; $x<$s; $x++) :
mt_srand((double)microtime()*1000000);
$rand = mt_rand( 1, 19); //выбор случайный int rand ([int min [, int max]]) для банеров
$admin_mail = define (\'ADMIN_EMAIL\',\'$from[$rand]@invictory.org\'); //установка "от"
//хедера
//часть 1
$header .= "From: ". $admin_mail ."\\n";
$header .= "X-Mailer: $from[$rand]@invictory.org\\n";
$header .= "Reply-To: ". $admin_mail ."\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/related; boundary=\\"=_$uid\\"\\n\\n\\n\\n";
//часть 2
$header .= "--=_$uid\\n"; //разделитель
$header .= "Content-Type: text/html; charset=windows-1251\\n";
$header .= "Content-Transfer-Encoding: Quot-Printed\\n\\n";
$header .= "\\n";
$header .= ":)";
$header .= "\\n\\n";
mail ($to, $subject[$rand], "", $header);
echo "$from[$rand]!";
endfor;
// считаем, как долго работал скрипт
$ddd=microtime();
$ddd=((double)strstr($ddd, \' \')+(double)substr($ddd,0,strpos($ddd,\' \')));
echo ("
Время отправки писем: ".(number_format(($ddd-$ttt),3))." секунд
");
}
-
Не знаю, зачем это здесь нужно:
$admin_mail = define (\'ADMIN_EMAIL\',\'$from[$rand]@invictory.org\'); //установка "от"
Но при всем желании, это работать не будет, потому что второй аргумент define находится в одинарных кавычках, следовательно переменные внутри не парсятся!
-
tarya
Не страдай фигней, а напиши комплейн провайдеру "барана". Или тому, у кого его почта хостится.
Иначе можешь и сам огрести со своим чудо-скриптом.
-
Xander:
Не страдай фигней, а напиши комплейн провайдеру "барана".
родимые, спасибо огромное за все подсказки, вот только незнаю "комплейн " :)
а так спасибо большое, буду делать пробовать, да и вообще охота научится.
FreeSpace :
define находится в одинарных кавычках, следовательно переменные внутри не парсятся!
так пробую в двойных, вообще незнаю что это за конструкшн вообще, топому и заминка
-
tarya
Ну как...смотришь, откуда тебе письмо пришло. Целиком, со служебными отметками. Ищешь хост, откуда отправлено. Если сразу непонятно, кто это - идешь на ripn.ru, и выясняешь, кому принадлежит IP-адрес. Далее пишешь провайдеру, какой нехороший человек этот имярек, и как он хотел завалить ваш сервер.
Нормальный провайдер должен по идее дать такому клиенту по мордасам.
-
ух ты как, нужно попробовать, спасибо тебе за подсказку, логично очень
-
RomikChef
[OFF]
Правильно, нечего. Надо воспитателся сразу звать =))
[/OFF]
-
спасибо родимые! наставили на путь истины.
нашел в письме от урода его айпи и сделал
$remote = gethostbyaddr(\'212.9.229.119\');
echo "$remote";
получился жора с h119.229.dialup.iptcom.net это Ай Пи телеком в Киеве, где и я нахожусь, теперь я попрошу наших менеджеров написать официальное письмо провайдеру, и что б ему в жопу швабру вставили.
спасибо большое. А скрипт так и не работает нормально, не получается у меня емаил разный сделать, хоть и двойный кавычки поставил.
-
$admin_mail = define (\'ADMIN_EMAIL\',\'$from[$rand]@invictory.org\');
А тут кавычки хоть двойные, хоть одинарные... это ж массив...
пиши так:
$admin_mail = (\'ADMIN_EMAIL\',$from[$rand].\'@invictory.org\');
а лучше так:
$admin_mail = $from[$rand].\'@invictory.org\';
а еще лучше действительно - настучи его провайдеру.
-
я незнаю что такое константа
[off]и как таких людей программировать пускают ? ;)[/off]
константа - это тип данных который имеет постоянное значение на всем цикле выполнение программы и которое нельзя изменить (а ты пытался одну и ту же константу несколько раз определять)
-
эх родимые, помогли вы мне своими подсказками. Написал я письмо провайдеру и получил ответ
Со своей стороны мы предупредим нашего пользователя о некорректном
поведении в Сети.
Если же его "самодеятельность" продолжится - мы блокируем его в
соответствии с Правилами Договора.
хех, я довольный - жара началась!