Babu
20.06.2006, 10:48:47
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
20.06.2006, 11:04:31
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
Babu
20.06.2006, 11:16:22
hmm jakies propozycje co z tym zrobic ?
nospor
20.06.2006, 11:20:31
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
20.06.2006, 11:31:02
sek w tym że nie mam dostepu do php.ini
nospor
20.06.2006, 11:32:18
Babu
20.06.2006, 11:45:08
ouh teraz jak sie za to zabrac
mike
20.06.2006, 11:50:09
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
20.06.2006, 12:06:17
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
20.06.2006, 12:10:46
Szybko i przyjemnie:
http://dev.mysql.com/doc/refman/5.0/en/load-data.htmlprzejrzyj przyklady jakbys mial problemy
mike
20.06.2006, 12:18:13
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
20.06.2006, 12:19:07
mysle ze zalapie a jakby to zostawic na pliku tekstowym jak by to wygladalo?
przykladowy skrypt pobieranie tych maili z pliku ?
phpion
20.06.2006, 12:56:14
<? $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:
<?
$plik = fopen("plik.txt", "r"); while ($mail = fgets($plik, 50)) {
// no i tu wysylka na $mail
}
?>
Ale lepiej pomysl nad baza i cronem...
Gość
20.06.2006, 13:10:26
OT : Ja z wlasnego doswiadczenia powiem - 30 tysiecy mail nie wysyla sie przez php. Predzej przez zewn. serwer pocztowy.
php programmer
20.06.2006, 13:20:39
Babu
20.06.2006, 13:28:18
6 paczek po 5000 maili?
dr_bonzo
20.06.2006, 13:42:23
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
20.06.2006, 13:51:04
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
20.06.2006, 14:16:55
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
20.06.2006, 14:18:46
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
20.06.2006, 19:26:07
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
Babu
20.06.2006, 20:09:56
hm czyli odpada wyslanie 30 000 maili
mike
20.06.2006, 20:37:05
~phpion.com oczywiście ż enie ma
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.