Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mailing do 50 000 uzytkownikow, Jak to zrealizowac?
-Skok-
post
Post #1





Goście







Ja zorganizowac mailing do ponad 50 000 uzytkowniko? Zaproponujci jakies fajne klasy albo inne rozwiazania. Dzieki.

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MartinezB
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 6.03.2005

Ostrzeżenie: (0%)
-----


To o czym na pewno trzeba pamiętać przy wysyłaniu maili do 50 000 userów to to, że każdy skrypt php ma określony czas działania, np. 30 sekund. Po tym czasie jego wykonywanie zostaje natychmiast przerwane. Wysłanie 50 000 maili z pewnością trwa dłużej niż 30 sekund, więc musisz zadbać, aby czas wykonywania skryptu był dostosowany do Twoich potrzeb.

Aby zmienić czas wykonywania skryptu skorzystaj z polecenia set_time_limit().

Kod
<?
set_time_limit(360);
?>


a kod do wysyłania i pbierania adresów z bazy to:

  1. <?
  2. if (mysql_connect($sql_serwer, $sql_login, $sql_haslo) 
  3.   and mysql_select_db($sql_baza)) 
  4. {
  5.   $wynik = mysql_query(&#092;"SELECT mail FROM user\");
  6.   $rekordow = mysql_result(mysql_query(&#092;"SELECT FOUND_ROWS()\"),0);
  7.   set_time_limit($rekordow*5);
  8.   while($dane = mysql_fetch_array($wynik)) 
  9.   {
  10. $mail = $dane[&#092;"mail\"];
  11. mail($mail,&#092;"tytul\",\"tresc\",\"nadawca@serwer.pl\");
  12. echo &#092;"wyslano maila do: $mail<br />\";
  13.    }
  14.    mysql_close();
  15. } 
  16. else 
  17. echo &#092;"Nie można połączyć się z bazą danych\";
  18. ?>


Bezpiecznie jest założyć, że czas wysyłania jednego listu trwa ok. 5 sekund. Możesz więc użyc konstrukcji, która pomnoży ilość odbiorców * 5:
Kod
set_time_limit($rekordow*5);


Ten post edytował MartinezB 17.07.2005, 19:42:36
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 16:55