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.
Na tym forum mass-mailing był wałkowany tyle razy, że już chyba wszystkim obrzydł Wystarczy Szukaj a znajdziesz wiele tematów z tym związanych. Po co kolejny dokładać?
0g0r
19.01.2010, 21:04:16
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.
piotr94
20.01.2010, 13:03:58
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)
thek
20.01.2010, 13:19:01
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.