Odkud odesilat email pri registraci uzivatele

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
radoslavius
Člen | 4
+
0
-

Dobry den,

zacinam s nette i s objektovym programovanim a nektere veci mi dochazeji pomalu :( Momentalne bych potreboval poradit kam umistit kod, ktery bude odesilat registrovanemu uzivateli email. Mam udelane dva typy registraci. Kod pro odesilani jsem umistil do modelu do metody pro zapsani uzivatele do db, ale mam problem s vytvorenim odkazu do textu mailu, protoze model o presenteru nevi a podle MVP by ani vedet nemel. Vzhledem k tomu, ze mam v presenteru dve metody na zpracovani dvou registracnich formularu, tak jsem nechtel ke kazde metode vkladat kod pro odeslani mailu, ale chtel jsem to mit nekde jen jednou. Kam to tedy vlozit tak, aby to bylo pouzitelne vicekrat? Napsat novy control, nebo novy model, ktery se bude zabyvat emaily? Vim, ze existuje moznost dostat se k presenteru z modelu, ale podle MVP to neni spravne.

Diky

Patrik Votoček
Člen | 2221
+
0
-

dle mého názoru je e-mail jenom speciálním/dalším typem pohledu (view) takže bych buďto tvořil komponentu nebo ho zapasoval do presenteru.

Filip Procházka
Moderator | 4668
+
0
-

Líbí se mi názor, že mail je typ view a jeho obsluha patří proto do presenteru.

Ovšem viděl bych to na nějakou službu. Jednoduchoučkou obálku, ktera by maily vytvářela a doplnila nějaké výchozí nastavení.

$mailer = $this->getApplication()->getService('System\Mailer');
$email = $mailer->createRegistrationConfirmation($user);
$email->necoSpecifickeho = 123;
$mailer->send($email);
radoslavius
Člen | 4
+
0
-

Díky za reakce