Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт рассылки и cron
 
 автор: Gandzas   (21.06.2006 в 20:49)   письмо автору
 
 

Кусок скрипта:

$members=array('адрес1@сайт.ру' , 'адрес2@сайт.ру' , 'адрес3@сайт.ру' и т.д.); 
if(sizeof($members)>0){ 
   for($i=0;$i<sizeof($members);$i++){ 


Это цикл, который выполняет рассылку указанного сообщения по всем адресам по очереди.
Подписчиков 500 человек.
Хостер позволяет одно письмо в минуту. Но дает доступ к кронтабу.
Что, где и как прописать, чтобы скрипт отсылал по одному письму в минуту?
Как видоизменить скрипт и что написать в кронтабе.
желательно мускул не юзать

   
 
 автор: valenok   (21.06.2006 в 20:50)   письмо автору
 
   для: Gandzas   (21.06.2006 в 20:49)
 

Это значит что надо как то записывать на котором мы остановились.

   
 
 автор: Gandzas   (21.06.2006 в 20:50)   письмо автору
 
   для: valenok   (21.06.2006 в 20:50)
 

а как и куда?

   
 
 автор: valenok   (21.06.2006 в 21:10)   письмо автору
 
   для: Gandzas   (21.06.2006 в 20:50)
 

Желательно в БД
Можно и в текстовый файл

   
 
 автор: Gandzas   (21.06.2006 в 21:11)   письмо автору
 
   для: valenok   (21.06.2006 в 21:10)
 

Расскажи, плиз, как записывать в текстовый файл?

   
 
 автор: valenok   (21.06.2006 в 21:39)   письмо автору
 
   для: Gandzas   (21.06.2006 в 21:11)
 

<?
$current
=file_get_contents('file.txt');
$f=fopen('file.txt',"w");
$next=$current+1;
fputs($f,$next);
fclose($f);

mail($members[$current],"Subject","Message");

   
 
 автор: gandzas   (21.06.2006 в 23:34)   письмо автору
 
   для: valenok   (21.06.2006 в 21:39)
 

Пожалуста, напиши куда его сюда впилить правильно и без ошибок :)) А то я, как обычно, че-нить напутаю, потом пол-ночи разбираться буду :)

<?PHP 
$members
=array('1@mail.ru' '2@mail.ru' '3@mail.ru'); 
if(
sizeof($members)>0){ 
   for(
$i=0;$i<sizeof($members);$i++){ 
$subject="Бла-бла";
$mess "Бла-ла-бла";
$headers ="Mime-Version: 1.0\r\nContent-Type:text/plain charset=\"windows-1251\"\r\n";
$headers .="Content-Transfer-Encoding: 8bit\r\n";
$headers.="From: Бла<mail@mail.ru>\r\n"
$headers .="X-Priority: 3\r\n";
$headers .="X-PHP-Mail-Priority: Normal\r\n";
$success mail($members[$i], $subject$mess$headers);
   } 

?> 


И file.txt самой создать и просто пустой кинуть на сервер?
И крону дать команду skript.php или тоже нужно как-то специфически прописывать?
Спасибки тебе. :-*

   
 
 автор: valenok   (21.06.2006 в 23:37)   письмо автору
 
   для: gandzas   (21.06.2006 в 23:34)
 

<?PHP
$members=array('1@mail.ru' , '2@mail.ru' , '3@mail.ru');
$subject="Бла-бла";
$mess = "Бла-ла-бла";

$current=file_get_contents('file.txt');
$f=fopen('file.txt',"w");
$next=$current+1;
fputs($f,$next);
fclose($f);

$headers ="Mime-Version: 1.0\r\nContent-Type:text/plain charset=\"windows-1251\"\r\n";
$headers .="Content-Transfer-Encoding: 8bit\r\n";
$headers.="From: Бла<mail@mail.ru>\r\n";
$headers .="X-Priority: 3\r\n";
$headers .="X-PHP-Mail-Priority: Normal\r\n";
$success = mail($members[$current], $subject, $mess, $headers);

?>

Насчёт file.txt ты всё павильно поняла.
А вот что писать в кроне не помню..
Кажеться php /home/usr/www/script.php

/home/usr/www/ это путь где лежит скрипт. Он у тебя должен быть другой.

   
 
 автор: Gandzas   (21.06.2006 в 23:49)   письмо автору
 
   для: valenok   (21.06.2006 в 23:37)
 

Спасибочки, счас попробую потестить.

   
 
 автор: valenok   (22.06.2006 в 00:02)   письмо автору
 
   для: Gandzas   (21.06.2006 в 23:49)
 

Ты его пока руками по запускай
а потом скажу как быть с кроном

   
 
 автор: Gandzas   (22.06.2006 в 01:51)   письмо автору
 
   для: valenok   (22.06.2006 в 00:02)
 

руками не работает :(

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

   
 
 автор: Gandzas   (22.06.2006 в 01:53)   письмо автору
 
   для: valenok   (22.06.2006 в 00:02)
 

пробел пропустила :)) здесь:
fputs($f, $next);

   
 
 автор: Gandzas   (22.06.2006 в 03:31)   письмо автору
 
   для: Gandzas   (22.06.2006 в 01:53)
 

Добавила нолик в file.txt и все заработало, как надо (вручную) :)))

Теперь осталось cron победить :)))

Скрипт лежит в директории htdocs

Хостер предлагает в разделе Crontab заполнить следующие поля:

Минуты:
Часы:
Число месяца:
Месяц (возможность выбора каждый и помесячно):
День недели (возможность выбора каждый и по дням):
Команда (предлагается ввести в поле системную команду с параметрами и т.п.):

До команды вроде все ясно :)))

   
 
 автор: valenok   (22.06.2006 в 10:33)   письмо автору
 
   для: Gandzas   (22.06.2006 в 03:31)
 

В качестве команды надо было прописать чтото такое:

/home/gandzas/htdocs/mail.php

Но я думаю это лучше уточнить у хостера.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования