Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Masowy mailing
0g0r
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

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


Mam problem z mailingiem.... Mam w bazie ~500 maili. I chciałbym je wysłać za jednym razem. Jak to zrobić?
Korzystając z kodu poniżej, skrypt wysiada. Przy takiej ilości sobie po prostu nie radzi, dlatego chciałbym poradzić się co sugerujecie aby to sprawnie wysyłało maile.
  1. mail($row[mail], $temat, $msg, $headers);
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Na tym forum mass-mailing był wałkowany tyle razy, że już chyba wszystkim obrzydł (IMG:style_emoticons/default/winksmiley.jpg) Wystarczy Szukaj a znajdziesz wiele tematów z tym związanych. Po co kolejny dokładać?
Go to the top of the page
+Quote Post
0g0r
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 24.10.2009

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


Znalazłem wiele tematów na ten temat. Jednak wszędzie proponowane jest wykupienie pakietu w firmie, lub skorzystanie z opcji wysylania co kilka sekund, a ja takiej opcji nie posiadam, gdyż nie mam konta shell.
Go to the top of the page
+Quote Post
piotr94
post
Post #4





Grupa: Zarejestrowani
Postów: 331
Pomógł: 30
Dołączył: 11.11.2008
Skąd: Kraków

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


Ja pisałem o tym z 2 razy:
badasz jaki jest max_execution_time na serwerze (ręcznie)
potem robisz tak w pliku majluj.php:
1. pobierasz aktualny czas z serwera i zapisz do zmiennej np. $begin
2. powtarzaj kroki 3- dopóki aktualny czas-$begin < max_execution_time - 5 //ten minus to taki bufor bezpieczeństwa na czas wysyłania jednego mejla
3. wyślij e-mail do usera o id $_GET['id']
3a Jeśli wysyłanie się nie powiedzie i $_GET['error']==0 to $error=1, zapisz id do jakiegoś pliku/zmień rekord w bazie i oznacz jako niewysłany, idź do 6
4. $_GET['id']+=1;
5. wróć do 2.
6. wyślij header("Location: majluj.php?id=".$_GET['id']."&error=".$error);
7. koniec

i taki skrypt będzie wysyłać mejle póki nie przekroczy limitu czasowego, jeśli zaś zbliży się do jego przekroczenia to wywoła swoje działanie od ostatnio wysłanego mejla i uruchomi się ponownie (limit czasowy się wyzeruje)
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Widać źle szukałeś, bo nawet ja podawałem jak mass-mailing wysyłać w sposób olewający ograniczenia serwera poprzez wywołanie samego siebie, jednocześnie nie obciążający serwera w sposób ciągły pakietami maili, ale korzystając ze sleepa.
Go to the top of the page
+Quote Post

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: 22.12.2025 - 20:56