Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt mailingowy dla ponad 30 tyś osób
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Babu
Witam

Poszukuje skryptu dzięki któremu wyśle tego samego maila do ponad 30 tyś osób z listy,
lista w pliku txt mail jeden pod drugim, pytam ponieważ testowałem wiele skryptów i każdy się
wyspuje

Pozdrawiam
nospor
Cytat
mail jeden pod drugim,
no jesli dla kazdego usera ma isc osobno mail, to takie cos bedzie trwalo bardzo dlugo. No a wysypuje ci sie zapewne, gdyz konczy sie czas na wykonywanie skryptu smile.gif
Babu
hmm jakies propozycje co z tym zrobic ?
nospor
No jesli nadal kazdy mail ma isc osobno no to musisz zwiekszyc czas na wykonanie skryptu. W php.ini masz taka linie:
max_execution_time = 7200
czas jest w sekundach. musisz sobie zwiekszyc na tyle sekund ile przewidujesz ze bedzie to szlo. Ja ostatnio wysylalem maile do 3000 osob. wysylalem przez interie i wysylka trwala 30 minut
Babu
sek w tym że nie mam dostepu do php.ini
nospor
no ale to mozna tez z poziomu skryptu zrobic:
http://pl.php.net/manual/pl/function.set-time-limit.php
Babu
ouh teraz jak sie za to zabrac winksmiley.jpg
mike
Ja jeszcze dodam że dobrym sposobem jest wysyłanie tego w paczkach i oparcie na CORON'ie

1. Wrzucasz informację do bazy o mailach do wysyłki.
2. Skrypt, który chodzi w CRON'ie widzi że coś jest do wysłania.
3. Odczytuja jaki ma czas wykonania i zaczyna wysyłać po jednym, za każdym razem usuwa go z bazy jak już wyśle i mierzy czas ile już chodzi i ile ma jeszcze czasu.
4. Na (powiedzmy) 10 sek. prze końcem czasu przerywa wysyłanie i przekierowuje się na samego siebie. I zabawa od początku.

Masz pewność że wyślą się wszystkie, że jak skrypt się przewróci, to po podniesieniu się wyśle to co mu zostało.
Jest to tez sposób na filtry spamu.
Babu
mam wszystkie maile w pliku txt np.
asd@dsf.pl
asd@dsf.pl
asd@dsf.pl

jak je wszystkie wrzucic do bazy do 1 kolumny do tego idek (auto_increment)

zrobilbym to z limitem czasu poprostu
nospor
Szybko i przyjemnie:
http://dev.mysql.com/doc/refman/5.0/en/load-data.html
przejrzyj przyklady jakbys mial problemy
mike
Cytat(Babu @ 20.06.2006, 13:06 ) *
zrobilbym to z limitem czasu poprostu

I ustawisz czas wykonania skryptu na 2 godziny?

To rozwiązanie mija się z celem. Nie uda Ci się napisać dobrego, niezawodnego skryptu mailingu wysyłającego maile do tekiej ilości osób, bez CRON'a. Taka jest moja opinia.

Lepiej zainwestuj w wiedzę i bazę danych.
Babu
mysle ze zalapie a jakby to zostawic na pliku tekstowym jak by to wygladalo?
przykladowy skrypt pobieranie tych maili z pliku ?
phpion
  1. <? $maile = file("plik.txt"); ?>

i wtedy w tablicy $maile masz wszystkie adresy z pliku. Tyle tylko, ze wczytanie 30000 pozycji z pliku do tablicy nie jest dobrym pomyslem. Mozna tez tak:
  1. <?
  2. $plik = fopen("plik.txt", "r");
  3. flock($plik, LOCK_SH);
  4. while ($mail = fgets($plik, 50))
  5. {
  6. // no i tu wysylka na $mail
  7. }
  8. flock($plik, LOCK_UN);
  9. fclose($plik);
  10. ?>

Ale lepiej pomysl nad baza i cronem...
Gość
OT : Ja z wlasnego doswiadczenia powiem - 30 tysiecy mail nie wysyla sie przez php. Predzej przez zewn. serwer pocztowy.
php programmer
ostatnio było na forum coś podobnego
Babu
6 paczek po 5000 maili?
dr_bonzo
Wrzucasz adresy do bazy, cronem pobierasz czesc z nich i wysylasz, wyslane maile odznaczasz (usuwasz z bazy); i tak w kolko az wszystkie wyslesz.
php programmer
Albo jeszcze inny pomysł mi wpadł:
Wrzucasz adresy do tablicy, serializujesz i wpiszujesz do sesji

Wywołujesz self.php dopóki tablica nie jest pusta
gdzie za każwym wywołaniem unserializujesz tablicę
i wysyłasz 100 maili, które to maile wyrzucasz zarazem z tablicy,
potem serializujesz tablicę, zapisujesz do sesji
i wywołujesz self.php o ile tablica nie jest pusta
phpion
Wysylanie maili w paczkach ma jeden minus. Nawet jesli adresy ukryjemy w BCC to beda one widoczne w zrodle wiadomosci, a nie wszyscy sobie zycza aby ich maile byly dostepne dla innych.
mike
Nie będą nigdzie widoczne.
Protokoły sa tak skonstruowane (zresztą mowi o tym odpowiedni RFC) że nie da się tych adresów odczytać jesli były w BCC,
phpion
Beda.
Na pierwszy rzut oka ich nie widac, ale po wyswietleniu zrodla wiadomosci mamy ladnie wypisane po kolei...

// EDIT:
hmmm faktyczne nie ma... <hmmm> ale daje sobie glowe uciac, ze ok. rok temu jak pisalem taki skrypt to byly widoczne! Stad to moje stanowcze stanowisko winksmiley.jpg
Babu
hm czyli odpada wyslanie 30 000 maili
mike
~phpion.com oczywiście ż enie ma smile.gif przecież gdyby było mozna sobie ot tak zerknąć w źrodło to w ogólenie niepotrzebne stało by sie wysyłanie w BCC.

~Babu a ja jestem przekonany że dobrze zaplanowany i napisany skrypt działający w CRON'ie sprosta zadaniu i wyśle taką ilość maili.
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-2024 Invision Power Services, Inc.