![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie, posiadam całkowicie legalną bazę adresów e-mail i chciałbym do nich rozesłać mailing odnośnie serwisu, jednak niewiem jak sobie poradzić z tym, aby wysłać do wszystkich maila tak, aby wszystkie poszły, normalnym mailem niewyślę 50tys maili ponieważ na serwerach są 30 sekundowe ograniczenia.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 463 Pomógł: 49 Dołączył: 27.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
wysylaj porcjami (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Myślałem nad tym aby to zapętlić, wysłać mailing do np 100 osób i do tych co wyśle w bazie zmieni się status na 1, i będzie dalej wysyłał do użytkowników którzy mają status 0 i tak w kółko.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Eee (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Pobierasz z bazy mejle używając dyrektywy SQL LIMIT od, ile Zapisujesz sobie parametry limitu i nie musisz obciążać całego procesu rozpoznawaniem wartości pola status edit>
A potem zwiększasz
potem 200,100 i tak dalej Piszesz skrypt który odpalasz z crona i po ptakach (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował orglee 14.02.2008, 18:42:11 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
A gdybym zrobił tak jak napisałeś, tyle że bez sql limit i odpalił to z crona? To by wysłał te 50tys maili w ciągłości, czy byłyby jakieś problemy?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Prawdę powiedziawszy diabli wiedzą co się może stać dlatego na ogół porcjuje się takie operacje.
Na wypadek chociażby spadku napięcia i restartu serwera. Jeśli wykonanie się niespodziewanie przerwie to nie będziesz wiedział kiedy wysyłanie się zakończyło. Przez co nie będziesz miał pojęcia od którego rekordu je wznowić. Ponadto taki skrypcik odpalany z crona może sporo zasobów systemowych pożerać ( nie musi ale może ) Może sprawić że użytkownicy twojej strony będą dostawać nagłych napadów szału lub przyczepi się do ciebie twoja firma hostingowa, bo wielce prawdopodobne jest że obciążenie które będzie on generował będzie większe niż 25 % zasobów serwera a na tyle zazwyczaj pozwala dostawca usługi hostingowej przy opcji hosting współdzielony. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz wysyłać mailing do więcej niż 1 osoby to koniecznie musisz zadbać o odpowiednie czyszczenie bazy adresów tak by maile się nie odbijały.
Poza tym proponuję użyć opcji szukaj bo temat był wałkowany wiele razy - sam nawet dawałem rady w nim. pozdr. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
W takim wypadku jak bym najpierw sprawdził, że nie ma żadnych multi i czy mejle się nie powtarzają. Ograniczył by to ttrochę ilść wysyłanych mejli. Potem zrbiłem bym zapytania z LIMITem i WHERE send = 0. Na ddatek dobrze by było robić przerwy np 15 minut.
pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:49 |