Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mailing na ovh-10000 maili dziennie
kaznodzieja
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


Witam!

Posiadam serwer wirtualny na ovh. Mam na nim dostęp do crona z najczęstszym wywołanie co godz. Chcę wysłać około 10 000 maili dziennie. Problem w tym że ovh udostępnia tylko funkcje mail() i blokuje SMTP(PhpMailer nie działa). Czy ktoś ma pomysł jak zorganizować taka wysyłkę maili z wykorzystaniem crona i bez robienia paczek. Czy skrypt który będzie miał 500 razy wywołana funkcje mail nie spowoduje zablokowanie konta lub przeciążenia serwera?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
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




Myślę, że przy takim odświeżaniu najlepiej zrobić sobie skrypt odpalający sam siebie. Za jednym uruchomieniem cron i standardowym czasem trwania skryptu 30 sekund poślesz może 200-500 maili, zależnie od tego co w mailingu robisz i jak obrabiasz treść. Przy 24 odpaleniach na dobę moższ nie uzyskać 10k maili. By to osiągnąć musisz obejść 30 sekundowy limit trwania skryptu. Nawet na forum tu kiedyś pisałem prawie gotowca jak to zrobić. Chodzi o to, by skrypt po wysłaniu iluś maili uruchamiał sam siebie jako "nowy wątek" a stary zamykał. Robiłby to tak długo, aż nie zakończyłby wysyłki. A to czy wysłałby 1.000 czy 100.000 to już nieważne dla niego. Istotną wadą tego rozwiązania jest niemożliwość zatrzymania tego skryptu w zasadzie inaczej niż użycie kill w powłoce lub restart usługi, więc to ryzykowne zagrane bez dokładnego sprawdzenia i przemyślany warunek STOP jest tu niezbędny bo inaczej zajedziesz serwer.

@Capker... Przeczytaj posta kolegi dokładnie... Ma Crona do wywołania co godzinę jedynie a nie co 5 minut. Takie kolejkowanie więc nie ma sensu, bo 50 maili co godzinę nie zda egzaminu. Skrypt musi być uruchomiony raz, ale nie może zostać zatrzymany po 30 sekundach przez serwer jako "nie odpowiadający" czy "zawieszony". Może zajść sytuacja, że będzie musiał pracować kilka minut, na co niemal żaden usługodawca nie pozwala. Tak więc rozwiązanie z wywoływaniem rekurencyjnym skryptu jest moim zdaniem jednym z nielicznych, o ile nie jedynym jakie dało by radę to zrobić.

Ten post edytował thek 11.10.2009, 10:18:13
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: 18.10.2025 - 09:10