PDA

Просмотр полной версии : Файл рассылки. помогите настроить.


mss-s
08.05.2009, 22:50
помогите настроить файл рассылки писем мне нужна чтоб он посылал письма интервалом в 5 -10 секунд так ка несколько писем за рас хост не позволяет посылать
вот код отправки пьсем, мне не для спама нужно просто надоело посылать каждому по отдельности


<?
if(isset($podtver)):

$sqlb=mysql_query("select*from users where rang$for'$lv'");

while($rowb=mysql_fetch_array($sqlb)) {
$name=$rowb['name'];

$mails=$rowb['email'];

mail("$mails","$theme","$messaga","From: емаил@сайт.ru\n"."Content-type: text/plain; charset=windows-1251");

}

endif;
?>

Fepsis
08.05.2009, 22:55
sleep(10);

mss-s
08.05.2009, 22:58
напишите вместе с кодом пожалуйста а то буду гадать где и в какой строке

Fepsis
08.05.2009, 23:01
напишите вместе с кодом пожалуйста а то буду гадать где и в какой строке

<?
if(isset($podtver)):

$sqlb=mysql_query("select*from users where rang$for'$lv'");
while($rowb=mysql_fetch_array($sqlb)) {
sleep(10);
$name=$rowb['name'];
$mails=$rowb['email'];
mail("$mails","$theme","$messaga","From: емаил@сайт.ru\n"."Content-type: text/plain; charset=windows-1251");
}

endif;
?>

mss-s
08.05.2009, 23:03
спасиба
ставлю +

Darkweider
08.05.2009, 23:37
sleep(10);
Я себе сервак недавно такой штукой положил... sleep в цикле творит страшные вещи. Лучше не после каждого отправленного, а через 10 или 50 пользователей делать.

mss-s
09.05.2009, 02:39
Я себе сервак недавно такой штукой положил... sleep в цикле творит страшные вещи. Лучше не после каждого отправленного, а через 10 или 50 пользователей делать.

покажи как реализовать чтоб посылал через 10 или 50 пользователей

если не трудно переделайте этот

тут идет по списку емайл

<?php

$to = file('emails.txt');


$subject = 'Birthday Reminders for August';


$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';


$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


$headers .= 'To: Mary <xxxx@xxxx.ru>, Kelly <xxxxx@xxxxx.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <mss-s@yandex.ru>' . "\r\n";
$headers .= 'Cc: xxx@yxxx.ru' . "\r\n";
$headers .= 'Bcc: xxx@xxx.ru' . "\r\n";



mail(trim($to), $subject, $message, $headers);
?>

m0Hze
09.05.2009, 03:47
Мой вариант,действует по принцыпу картно\некратно.

И да,я засунул в цикл отправку,так как я понимаю так и должно быть,просто автор чтото упустил,если шлеться на один адрес,нах тут слипать вообще тогда? оО
И файл то открывать в массиве зачем? Я надеюсь я правельно сделал,что поставил в цикл.

<?php

$to = file('emails.txt');
$sleep = 50; // Колво пользоваталей перед слипом.

$subject = 'Birthday Reminders for August';


$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';


$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


$headers .= 'To: Mary <xxxx@xxxx.ru>, Kelly <xxxxx@xxxxx.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <mss-s@yandex.ru>' . "\r\n";
$headers .= 'Cc: xxx@yxxx.ru' . "\r\n";
$headers .= 'Bcc: xxx@xxx.ru' . "\r\n";

for ($i = 0; $i < count($to); $i++) {
if ($i % $sleep == 0) { // проверяем колво отправленых писем,на кратность с ограничителем,если кратно делаем слип,если нет = отправляем.
sleep(10); // В секундах слип
} else {
mail(trim($to[$i]), $subject, $message, $headers);
}
}
?>

mss-s
09.05.2009, 12:29
Мой вариант,действует по принцыпу картно\некратно.

И да,я засунул в цикл отправку,так как я понимаю так и должно быть,просто автор чтото упустил,если шлеться на один адрес,нах тут слипать вообще тогда? оО
И файл то открывать в массиве зачем? Я надеюсь я правельно сделал,что поставил в цикл.


пробовал отсылать на мыло по такому принципу

отсылает первые 3 а иногда 5 письма потом хост показывает такое 502 Bad Gateway

может делать sleep через каждые 2 письма
ктонить может зделать
чуть переделал
посылал им
<?php
$to = file('emails.txt');
$sleep = 10;
$subject = 'Birthday Reminders for August';
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Birthday Reminder <mss-s@yandex.ru>' . "\r\n";
for ($i = 0; $i < count($to); $i++) {
if ($i % $sleep == 0) { // проверяем колво отправленых писем,на кратность с ограничителем,если кратно делаем слип,если нет = отправляем.
sleep(10); // В секундах слип
} else {
mail(trim($to[$i]), $subject, $message, $headers);
}
}
?>

Gar|k
09.05.2009, 16:50
насчет пицот тва... возможно это поможет

<?php
error_reporting(0);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);

//.... твой код

mss-s
09.05.2009, 17:41
решение было таким
for ($i = 0; $i < count($to); $i+=2)
{
mail(implode(',',array_slice($to, $i*2, 2)),$subject,$message,$headers);
sleep(10);
}
поставил работает но после 30 секунд выскакивает 502 Bad Gateway пробывал поставить следуишии код

error_reporting(0);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);

но проблема осталось