Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таймаут между отправлением писем. 
:(
    Опции темы
r0ot
Дата 17.12.2006, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.12.2006

Репутация: нет
Всего: нет



Существует скрипит для рассылки оповещений (долго описывать что это за оповещения, но если кто-то сомневается не собираюсь ли я использовать этот скрипт для рассылки спама могу объяснить подробнее) мылы берутся из txt файла и на них идет рассылка. Не смотря на то что количество мыл в базе пока что всего 20 хостер уже делал неоднократные предупреждения ругаясь на спам. Полагаю что если установить таймаут между отсылкой каждого письма то проблема исчезнет. Может кто подскажет как это реализовать?
Код самой отправки привожу ниже:

Код

<?
set_time_limit(0);
ignore_user_abort(1);

$header = "From: $from \r\n";
$header .= "Content-Type: text/plain; charset=\"windows-1251\"\n\n";




$subject = substr ($HTTP_POST_VARS["subject"],0,32);
$message = substr ($HTTP_POST_VARS["message"],0,1024);
$from = substr ($HTTP_POST_VARS["from"],0,32);


$fp = fopen("emails.txt", "r");
$count = 0;
if(!$fp || strlen($subject) == 0 || strlen($message) == 0){
    echo("<br><center>Error! Upload emails.txt and write message!</center>");
    exit;
}
else{
    while(!feof($fp)){
        $to = fgets($fp);
        mail($to, $subject, $message, $header);
        $count = $count + 1;
        $fl = fopen("log.txt", "w+");
        fputs($fl, "$count letters was sended...");
        fclose($fl);
    }
    }    
?>

PM MAIL   Вверх
Mal Hack
Дата 17.12.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Для таких вещей CRON используется.
PM ICQ   Вверх
r0ot
Дата 17.12.2006, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.12.2006

Репутация: нет
Всего: нет



Если не сложно на каких нибудь примерах а то php_manual ничего конкретного не выдал =(
PM MAIL   Вверх
Mal Hack
Дата 17.12.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Тут в поиск CRON
PM ICQ   Вверх
OverClocker
Дата 9.9.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



Почему именно cron? У меня на хостинге нет такой возможности.Но определяется, как спам всё равно. Что делать? Может действительно сделать
sleep(5)? 
PM MAIL WWW   Вверх
CyClon
Дата 9.9.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Крон в плане обнаружения спам-скрипта ниче не даст. Просто ставь sleep(x) после каждого или нескольких писем.

ЗЫ: Лично у меня скрипт отправлял около 500 писем и вылетал. Если что - виноват апач. Запускай через popen в фоне и будет работать пока не закончит.


--------------------
user posted image
PM   Вверх
OverClocker
Дата 9.9.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



CyClon, спасибо, брателло smile Ещё утром, когда писал то сообщение, дал указание скрипту sleep(20) - всё окейно отправляет и до сих пор. И то, что функция set_time_limit() ограничена у меня на хосте - откровенно говоря гон. smile

Ну а то, что крон и спам-скрипт никак не связаны - это и ежу понятно smile Но всё равно спасибо за отклик! С popen тоже попробую, авось так и удобнее для меня будет.
PM MAIL WWW   Вверх
CyClon
Дата 9.9.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Просто когда запускаешь процесс с HTTP, то он запускается через апач, а у апача есть свой таймаут и он ен любит подвисшие процессы, так что на некоторых хостах даже если в скрипте set_time_limit(0) то скрипт может вылететь по тайм-ауту апача, поэтому запускать нужно через cron/popen/exec/system и т.п.

Добавлено через 1 минуту и 12 секунд
Я делаю так:

Код
if (file_exists('lm_running')) {
    ... CODE ...
    unlink('lm_running');
} else if (isset($_GET['start'])) {
    $fp = popen('php -f ' . __FILE__ . ' &', 'r');
    pclose($fp);
}


Добавлено через 1 минуту и 58 секунд
ЗЫ: lm = Love Mailer, чтобы вопросов не было smile


--------------------
user posted image
PM   Вверх
OverClocker
Дата 9.9.2007, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 12.11.2005

Репутация: нет
Всего: нет



popen запрещён у меня на хосте. smile) Но спасибо за совет. smile Таймаут пишет, что ограничен, точнее set_time_out задизаблен, но всё равно всё отлично работает. smile
PM MAIL WWW   Вверх
IAmEternaL
Дата 10.10.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 8.10.2007
Где: Киев, Украина

Репутация: нет
Всего: нет



насколько я знаю для рассылок чаще используют socket подключение к серверу отправки почты (SMTP), что позволяет без проблем слать подряд кучу писем
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.