Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłka NewsLettera > 5 000 adresów.
Forum PHP.pl > Forum > PHP
NoiseMc
Po przejrzeniu wielu postów o tym temacie widzę, że większość z Was używa PEAR::Mail_Queue do masowego rozsyłania poczty.

Nie sprawdziłem jeszcze tej biblioteki tak więc nie jestem w stanie nic na jej temat powiedzieć wiem, że ma coś wspólnego z Cronem i że to rozwiązuje problem konieczności zostawiania na noc otwartej przeglądarki z ładującą się stroną aplikacji próbującej rozesłać 10 000 maili (a co jeżeli prąd siądzie albo komputer się zawiesi) tongue.gif.
Zastanawiałem się nad rozwiązaniem tego problemu i wydaje mi się, że tu przydałaby się wielowątkowość i możliwość pracy aplikacji w tle nawet po zamknięciu przeglądarki. Zastanawiałem się nad połączeniem Javy i php.

Napisać w Javie z użyciem JavaMail i JDBC program, który odczytywałby maile z bazy i w zapuszczonym wątku wysyłał je do ludzi, a na samym końcu destroy() i koniec działania.
php służyłby tu do inicjacji obiektów i odpalania wątku, potem tylko można by ewentualnie odczytać jakiś wygenerowany raport.

To co napisałem jest czystą abstrakcją nie mam doświadczenia w łączeniu Javy i php i nie znam innych sposobów na rozsyłanie takiej ilości wiadomości.
Wypowiedzcie się proszę na ten temat
ebe
Jeśli masz dostęp do konsoli to co za problem zapuścić wysyłanie maili w php z linii poleceń odpalane z crona?
SongoQ
Odnosnie wad serwera zawsze zostaje po kazdym wyslanym mailu odnotowywac w bazie ze taki @ zostal wyslany. Wtedy wiesz co sie wyslalo a co nie.
NoiseMc
Pomysł jest taki:

Są 2 aplikacje:
  • Aplikacja do zarządzania grupami mailingowymi, szablonami wiadomości oraz wysyłkami ( interface użytkownika )
  • Aplikacja wysyłająca maile ( pracująca w tle uruchamiana Cronem )
Obie aplikacje korzystają z tej samej bazy danych.

Aplikacja 1 służy do skomponowania wiadomości, ustalenia do kogo ma być wysłana i zapisuje do bazy szczegóły wysyłki oraz wiadomość o wysyłce czekającej na realizację.

Aplikacja 2 jest uruchamiana Cronem co np 5 minut i sprawdza w bazie danych czy jest wysyłka czekająca na realizację. Jeżeli jest to rozpoczyna wysyłkę wysyłając na przykład 5 maili i sleep() na 5 sekund. Podczas realizowania wysyłki do bazy zapisywany jest na bieżąco raport z wysłania każdego maila, żeby użytkownik miał wgląd w to co się dzieje z jego wysyłkami, czy zostały wysłane ewentualnie dokończyć wysyłkę przypadkiem przerwaną ( np. brak zasilania w serwerze winksmiley.jpg ).

W ten sposób użytkownik loguje się, komponuje wiadomość, klika "Wyślij" wylogowuje się i idzie na piwo smile.gif. W każdej chwili może się zalogować i sprawdzić stan wysyłki ewentualnie ją przerwać.
SongoQ
Pamietaj o tym zeby naraz nie poszlo 2 @ do tej samej osoby.
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.