|
|
|
| Как лучше всего сделать рассылку чтобы письма рассылались людям записанным в базе данных mysql с помощью цикла for и функции майл или каким то другим способом.
Можно ли использовать данный способ если число подписчиков десятки тысяч | |
|
|
|
|
|
|
|
для: vquery
(14.03.2007 в 21:59)
| | Насчет десятков тысяч за раз будет многовато
Делите процесс на части
Вот примерно так можно организовать
<?
$sql = mysql_query ('select * from subscriptions limit 100');
while ($row = mysql_fetch_assoc($sql))
$list[] = $row['email'];
foreach ($list as $i)
{
mail ($i, 'Subscription', 'Text');
sleep (1);
}
?>
|
| |
|
|
|
|
|
|
|
для: vquery
(14.03.2007 в 21:59)
| | Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=7487. Всё сводится к тому, что требуется добавить почтовый заголовок Bcc
<?php
$headers.="Bcc: sidor@mysite.ru\r\n";
$headers.="Bcc: sidor1@mysite.ru\r\n";
$headers.="Bcc: sidor2@mysite.ru\r\n";
mail("zxcv@zxcv.ru",$tema,$piss,$headers);
?>
| столько раз, сколько "слепых" копий вы хотите отправить. | |
|
|
|
|
|
|
|
для: cheops
(15.03.2007 в 02:19)
| | А тогда все отправленные адреса не будут видны каждому из получателей или все смогут увидеть кому еще они отправлены? | |
|
|
|
|
|
|
|
для: vquery
(15.03.2007 в 18:32)
| | Никто не будет видеть свой адрес и адреса соседей, будет доступен только основной адрес. | |
|
|
|
|
|
|
|
для: cheops
(16.03.2007 в 00:53)
| | Огромное спасибо.
Еще хотел узнать что такое
sleep (1); (сообщение bronenos)
в функции while зачем она и где про нее можно почитать.
В вашей замечательной книге про ПХП (она(вернее обе) правда мне очень понравиллась и помогла) про это я не нашел...
И еще вопрос может ли быть тысячи? Разрешит ли хостер отправлять столько писем таким способом есть ли ограничения и подводные камни? Для отправки писем потребуется столько же времени сколько и для одного или больше? | |
|
|
|
|
|
|
|
для: vquery
(22.03.2007 в 05:50)
| | sleep() - приостанавливает работу скрипта на время, указанное в аргументе (в данном случае на 1 секунду).
PS Вопрос массовой отправки писем лучше согласовать с хостером. | |
|
|
|
|
|
|
|
для: cheops
(22.03.2007 в 13:09)
| | А зачем? что это дает? потм будет выполнен новый запрос mysql и будут вынуты новые 100 позиций или как? | |
|
|
|
|
|
|
|
для: vquery
(23.03.2007 в 06:13)
| | Рауза делается затем, что возможна повышенная загрузка сервера из за вашего скрипта и пайза не позволяет скрипту это делать... Но делается она не во всех циклах естественно, а в тех циклах где существуют операторы и функции каторые как раз и могут нагрузить сервер при непрерывной работе (например при работе с большим количеством сокетов или при несколькмх тысячах запросов к базе данных) | |
|
|
|
|
|
|
|
для: KPETuH
(23.03.2007 в 06:53)
| | А вот этот скрипт
<?php
$headers.="Bcc: sidor@mysite.ru\r\n";
$headers.="Bcc: sidor1@mysite.ru\r\n";
$headers.="Bcc: sidor2@mysite.ru\r\n";
mail("zxcv@zxcv.ru",$tema,$piss,$headers);
?>
Сколько по аремени он будет выполняться если адресов будет несколько тысяч?
Хостер говорит что на массовую отправку писем ограничений нет зависит от скорости работы скрипта. | |
|
|
|
|
|
|
|
для: vquery
(23.03.2007 в 18:45)
| | Копии данного сообщения будут отправляться с сервера рассылки, так что это уже не Ваши проблемы... | |
|
|
|