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

Форум PHP

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

 

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

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

тема: Таймер для mail ()
 
 автор: gulkirill   (30.09.2012 в 18:54)   письмо автору
 
 

На моем хостинге стоит ограничение: 400 сообщений/минуты или 6 сообщений/минута или 1 сообщение в 10 секунд. чтобы не попасть под удаление домена за нарушение условий публичной оферты. мне нужно прописать ограничение. т.е. 1 сообщение в 10 секунд.
====
нужно сделать так, чтобы wile вытащил e-mail из базы, отправил письмо, подождал 15 сек вытащил новый, отправил письмо, подождал опять 15 минут вытащил другой e-mail отправил письмо и так далее.
====
P.S. мне нужен код только код для лимитирования, как отправлять e-mail, как доставать e-mail из базы и другое я знаю =)

  Ответить  
 
 автор: cheops   (30.09.2012 в 20:47)   письмо автору
 
   для: gulkirill   (30.09.2012 в 18:54)
 

Вы рассматривали использование функции sleep()? Доступны ли вам cron-задания?

  Ответить  
 
 автор: gulkirill   (30.09.2012 в 21:20)   письмо автору
 
   для: cheops   (30.09.2012 в 20:47)
 

да, cron мне доступен. мне доступно все (хостинг платный), но вот есть некоторые ограничения на виртуальном хостинге

  Ответить  
 
 автор: cheops   (01.10.2012 в 08:11)   письмо автору
 
   для: gulkirill   (30.09.2012 в 21:20)
 

Создайте очередь из писем и отправляйте их при помощи cron-задания с интервалом в 1 минуту с таким расчетом, чтобы за одно задание отправлялось не более 200 писем.

  Ответить  
 
 автор: gulkirill   (01.10.2012 в 09:18)   письмо автору
 
   для: cheops   (01.10.2012 в 08:11)
 

Нет, так не получиться, из-за того, что база с e-mail адресами - mysql, письмо - формируется в ручную (сам текст), и нужно разослать этот текст по всем e-mail адресам которые находятся в базе (а со временем я могу набрать впечатляющую базу).

+ к тому же я не понимаю крон, какую-то абракадабру ему писать нужно =) мне проще через while()

P.S. Получается что-то типа своего сервиса рассылок (типа smartresponder);
P.P.S. Если кто усомнился - скрипт не будет использоваться для спама (а то подумают ненароком =) ).

====
если можно - синтаксис той или оной функции. Ведь я только начинаю =)

  Ответить  
 
 автор: cheops   (01.10.2012 в 15:19)   письмо автору
 
   для: gulkirill   (01.10.2012 в 09:18)
 

Вручную-набранное письмо можно тоже положить в базу данных и хранить там до тех пор, пока не будет завершена рассылка, а то и вовсе хранить для истории.

cron не делает ничего фантастического - это просто планировщик заданий, который запускает ваши скрипты в назначенное вами время (но не чаще 1 раза в минуту).

Кроме того, не следует забывать, что время работы одного скрипта ограничено (как правило, 30 секундами), поэтому одним циклом while обойтись довольно трудно.

  Ответить  
 
 автор: gulkirill   (01.10.2012 в 15:36)   письмо автору
 
   для: cheops   (01.10.2012 в 15:19)
 

т.е. придется создавать целое древо while? или начать понимать cron хм. сложнй выбор. а есть альтернативные способы "попридержать" выполнение скрипта

  Ответить  
 
 автор: Lotanaen   (01.10.2012 в 16:02)   письмо автору
 
   для: gulkirill   (01.10.2012 в 15:36)
 

cron в данном случае более надежен, а то вдруг запустите скрипт 2 и более раз и лимит рассылки в таком случае превысите. Для увеличения времени работы скрипта есть set_time_limit(int second)

  Ответить  
 
 автор: gulkirill   (01.10.2012 в 16:19)   письмо автору
 
   для: Lotanaen   (01.10.2012 в 16:02)
 

Спасибо за всестороннюю поддержку. но вопрос все равно остаеться открытом. может кто-нибудь уже с таким сталкивался. если есть то модно МЯСО Код!

  Ответить  
 
 автор: Lotanaen   (01.10.2012 в 16:30)   письмо автору
 
   для: gulkirill   (01.10.2012 в 16:19)
 

Многие сталкивались скорей всего. А что тут сложного? Скрипт на cron запускается и отправляет нужное количество писем из базы, письма удаляются из базы после отправки или ставится пометка что письмо отправлено. Cron запускается с нужным Вам интервалом времени.
А уже в любом интерфейсе для отправки писем пишете скрипт(ы) для записи писем в базу данных. Можете и приоритет отправки ввести и все что Вам нужно...
Получается что только 8640 писем Вы можете в сутки отправить по ограничению хостера. Не такая уж и большая база получается. ;)

  Ответить  
 
 автор: gulkirill   (01.10.2012 в 17:24)   письмо автору
 
   для: Lotanaen   (01.10.2012 в 16:30)
 

не люблю я крон. смутный он какой-то. в одном месте прочитал,что можно сделать без крон, а вот как сделать нигде не указывается.

пожалуйста, умоляю вас, давай те код (или функции и к ним синтаксис, ведь таких как я, начинающих, огромное мнножествво!)

  Ответить  
Rambler's Top100
вверх

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