euheni
Постоялец
- Регистрация
- 6 Сен 2007
- Сообщения
- 118
- Реакции
- 26
- Автор темы
- #1
Нужно сделать рассылку на ящики клиентов, которые лежат в базе.
Для сего написал небольшой скрипт:
Спросил у хостера будет ли работать такой скрипт, он ответил, что на рассылку стоит ограничение 200 писем в час.
Я добавил в цикл
чтобы получилось 180 писем в час.
Но таким образом скрипту нужно будет выполняться 10 часов.
На это хостер ответил: "На виртуальном хостинге резидентные пользовательские программы не разрешаются. Просто запускайте определенную часть по крону каждый час."
Помогите догнать как это реализовать.
Для сего написал небольшой скрипт:
PHP:
<?php
if (isset($_POST['title']) && isset($_POST['mess']))
{
require_once "cfg/connect.inc.php";
require_once "cfg/DB.php";
$db = new Database();
$sql = "SELECT distinct(cust_email) FROM SS_orders";
$result = $db -> query($sql);
if ($db -> get_nom($result))
{
$mails = array();
while ($row = $db -> assoc($result))
{
$mails[] = $db -> from_db($row);
}
}
$from = 'От кого <info@mysite.com>';
foreach ($mails as $m)
{
if(preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,4}/i", $m[cust_email]))
{
$to = $m[cust_email];
$title = $_POST['title'];
$mess = $db -> from_db($_POST['mess']);
$headers = "Content-type: text/plain; charset=windows-1251" . "\r\nFrom: ".$from. "\r\n";
mail($to, $title, $mess, $headers);
}
}
echo "<div align=center><b>Готово</b></div>";
$smarty->assign("mailer", $mailer);
}
?>
Спросил у хостера будет ли работать такой скрипт, он ответил, что на рассылку стоит ограничение 200 писем в час.
Я добавил в цикл
PHP:
sleep(20);
Но таким образом скрипту нужно будет выполняться 10 часов.
На это хостер ответил: "На виртуальном хостинге резидентные пользовательские программы не разрешаются. Просто запускайте определенную часть по крону каждый час."
Помогите догнать как это реализовать.