Autor Zpráva
Gecko
Profil *
Zdravím,

měl bych dotaz a pokud by byl někdo ochoten mě navést, byl bych vděčný. Nevím jestli je to opět technicky možné (snad jo). V minulém vlákěn jsem řešil, jak odesílat dávkově (rozmetí několik hodin) řádově několik tisíc emailů. Bylo mi poraděn PHP + CRON, zjistil jsem ale, že CRON u hostingu není, tak nezbývá nic jiného než externí SW.

SW bere datbázi emailů z texťáku. A teď k věci - je možné udělat následující:

1. Vytáhnout z MySQL seznam emailů (zvládnu bez problémů)
2. Vytvořit potřebný počet txt, kde bude seznam emailů např. po 1000 emailech (co texťák, to 1K emailů)
3. Uložit je do zipu a nabídnout kestažení (header zvládnu)

Nevímm jak moc je to komplikované, možná využít dočasného uložiště.

Kdyby měl někdo námět, byl mu vděčný.

Díky
Ugo
Profil
složité to není, postup jsi napsal správně. Soubory vytvoříš v cyklu, můžeš myslím klidně udělat víc dotazů na db (jako když se dělá stránkování), uložíš je do složky jako name.$i a pak složku zazipuješ ziparchivem a stáhneš (header). Doufej tedy že máš ziparchiv :)
Gecko
Profil *
To jo, to tam je. Ok, já to zkusím a dám vědět...
Alphard
Profil
Můžu se zeptat, jaké jsou vaše výsledné záměry?
Webcron je prakticky stejný jako cron, načítá přes http danou stránku, nemělo by být nutné vymýšlet nějaké šílenosti jen kvůli tomu.

Zároveň bych měl ale obavy, jestli hosting, který nemá cron, bude nadšený z tisíců mailů :-)
Gecko
Profil *
Alphard:
Můžu se zeptat, jaké jsou vaše výsledné záměry?
Jedná se o to, že mám v mysql tisíce emailů a potřebuji jednou za týden posílat novinky. Jde o to, že ptřebuji poslat např. 2K dopoledne a 2K odpoledne atd.

Doposud používám SW, který načte smtp, z txt emaily a pošle je v dávkách.

Hosting je bez problémů, to o strach nemám.


Měl bych dotaz, ať děám co dělám, nejde mi udělat co e-mail, co nový řádek:

$sql = DB::query("SELECT * FROM `"._mysql_prefix."-novinky`  WHERE zamek=0 LIMIT 5"); 
while ($item = DB::row($sql)){
$text = "".$item["email"]."\n";   
$soubor = fopen("soubor.txt", "a+");
fwrite($soubor, $text);
fwrite($soubor,"\n");
}


\n v zápisu mám, zkoušel jsem i \n a \r ale boužel :(
Alphard
Profil
Gecko:
Když používáte speciální SW pro odesílání mailů, který vyžaduje tento formát vstupu, tak ano. Je jsem si původně myslel, že jste chtěl maily posílat přes PHP a zdálo se mi to zbytečně složité.

Ukázka zipovací třídy je ve FAQ, ale předpokládá, že jsou souboru uložené ve filesystému a zip vytváří taky na disku. Kdybyste to chtěl držet v paměti, tak si asi budete muset hrát s datovými proudy.
Gecko
Profil *
Alphard:
Ok. Jo třída funguje, teď ji zrovna zkouším.
Gecko
Profil *
Tak chyba je pryč, moje blbost v kódu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: