Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Newsletter
Forum PHP.pl > Forum > PHP
angerthor
Witam,

Napisałem newsteller oparty o funkcję mail() jednak zastanawiam się na ile będzie ona wydajna przy wysyłaniu emaili do naprawdę sporej liczby użytkowników - kilkudziesięciu tysięcy. Sprawdzałem, serwer ma poważny problem z wysłaniem 500 maili (trwało to jakieś 2 minuty), więc obawiam się, że przy wysłaniu 50.000 po prostu się zawiesi, a ja nie będe nawet wiedział, czy maile faktycznie zostały wysłane.

Co zrobić w takim wypadku ? Czy jest jakaś inna możliwość wysyłania maili ? Czy może podzielić jakoś tą grupę docelową i wysyłać partiami (np. po 500), dzięki czemu będę miał pewność, iż maile zostały wysłane ?

Z góry dzięki za pomoc.
Daimos
mozesz wysylac emaile jako ukryta kopia, a jesli chodzi o Twoje watpliwosci, czy email sie wyslal, to trzeba sprawdzac czy wysylanie sie powiodlo, wtedy bedziesz wiedzial winksmiley.jpg
sniver
Funkcja mail to nic innego jak funkcja która wysyła wiadomość e-mail za pośrednictwem lokalnego serwera pocztowego (jeśli takowy istnieje).
Prędkość wysyłki - zależy tak naprawdę od wielu czynników tj. przepustowość serwera, ograniczenia serwera pocztowego itp...
Równie dobrze możesz skorzystać z gotowej biblioteki która połączy Cię z SMTP i wyślesz za pomocą zewnętrznego serwera - efekt działania ten sam. Ale prędkość to już inna kwestia..
thek
najlepiej posłuż się gotowymi bibliotekami w stylu phpmailer czy swiftmailer i opakuj je kodem. Funkcja mail sama w sobie jest zawodna i wolna, więc już tutaj upatruj problemów na przyszłość. Podział na paczki jest sensowny nie tylko by nie przekroczyć czasu działania skryptu na serwerze. Serwery odbierające pocztę mają zabezpieczenia nieraz, które oznaczają nadawcę jako spamera gdy w krótkim odstępie czasu przyjdzie od niego wiadomość na różne konta.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.