Autor Zpráva
asusák
Profil *
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
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
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
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.

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:

0