Autor | Zpráva | ||
---|---|---|---|
asusák Profil * |
#1 · Zasláno: 17. 8. 2009, 14:01:55
Mám novinkovač a všem co novinky píšu mám v datbázy. Struktůra: ID, JMENO, MAIL. A normálě mám vytvořejnej script pro odesílání, na mail (funkcí mail). No a já bych potřeboval aby když do tý novinky napíšu např.: Vážený $jmeno dnes je krásně... Tak aby se místo toho $jmeno poslalo jmeno toho uživatele na kterej mail se to pošle. Doufám že je to dost srozumitelný. díky za rady.
|
||
blaaablaaa Profil |
#2 · Zasláno: 17. 8. 2009, 15:41:00
pres eval (nedoporucuju) nebo pres regularni vyrazy nahradis $jmeno za jeho jmeno.
Ale je to celkem narocne na db a taky se kazdy mail odesle zvlast = narocnost na server. |
||
AM_ Profil |
#3 · Zasláno: 17. 8. 2009, 20:51:29
ani regulární výrazy ani nedej bože eval, ale str_replace :)
pak samozřejmě musíš mail poslat každému uživateli zvlášť (ad blaaablaaa - co je na tom náročného na DB? všechny uživatele vybere jedním dotazem). Při hodně uživatelích (stačí desítky, takže ne zas tak hodně) to možná bude problém, protože SMTP server často neodpovídá dost rychle, takže skript může končit timeoutem (dá se řešit set_time_limit pokud je povoleno). Pokud se nedá nastavit set_time_limit, je řešení při hodně velkém počtu uživatelů vytvořit v DB "mailing list" a třeba po minutě spouštěným cronem maily posílat postupně |
||
blaaablaaa Profil |
#4 · Zasláno: 18. 8. 2009, 08:44:19
jo, str_replace me ani nenapadl ... stydim se
No, na neprijde mi idealni pri kazde novince tahat z db vsechny uzivatele (ok, ale mas pravdu, tohle na db neni narocne) ano, prave v tom, ze mail musi odeslat kazdemu uzivateli zvlast, vidim problem. Zalezi kolik uzivatelu v mailinglistu ma a jak casto se novinky odesilaji. Osobne bych se v tomhle pripade na jmeno vykaslal uplne a psal maily typu "Dobry den, ..." namisto "Vazeny $jmeno, ...". Navic nektere servery maji urcity limit na pocet odeslanych emailu za urcity cas. |
||
Časová prodleva: 15 let
|
0