public function send($to, $message, $args = []) { $mail = new \Nette\Mail\Message(); $mail->setFrom($this->config['from'], $this->config['display']); $mail->addTo($to); $dir = $this->config['templateDir']; $template = new \Nette\Templating\FileTemplate(); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $template->setFile($dir . '/' . $message . '.latte'); $template->setParameters($args); $template->recipient = $to; $mail->setHtmlBody($template); $this->mailer->send($mail); }
/** * @return Nette\Templating\FileTemplate */ public function createNette__template() { $service = new Nette\Templating\FileTemplate(); $service->registerFilter($this->createNette__latte()); $service->registerHelperLoader('Nette\\Templating\\Helpers::loader'); return $service; }
/** * @return Nette\Templating\FileTemplate */ public function createServiceNette__template() { $service = new Nette\Templating\FileTemplate(); $service->registerFilter($this->getService('nette.latteFactory')->create()); $service->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $service->onPrepareFilters = $this->getService('events.manager')->createEvent(array('Nette\\Templating\\Template', 'onPrepareFilters'), $service->onPrepareFilters); return $service; }
public function actinEmailsubmitted() { $recievers = $this->context->createCustomer()->getCustomer()->where('newsletter', '1')->where('active', "1"); $products = $this->context->createProduct()->getProduct()->where('action', "1")->order('category_id'); $orderDate = $this->context->createOrderDate()->getOrderDates()->where('active', 1)->order('orderdate')->limit(1)->fetch(); $template = new \Nette\Templating\FileTemplate(APP_DIR . '/AdminModule/templates/Overview/_actionEmail.latte'); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('\\Nette\\Templating\\DefaultHelpers::loader'); $template->products = $products; if (!empty($orderDate)) { $template->orderdate = $orderDate->orderdate->format('d.m. H:i'); } else { $template->orderdate = NULL; } $template->render(); // vykreslí šablonu foreach ($recievers as $reciever) { try { $mail = new Message(); $mail->setFrom('dovoz-nemecko.cz <*****@*****.**>')->addTo($reciever->email)->addTo($this->context->parameters['orderEmail'])->setSubject('Dovoz Německo - nabídka akčního zboží')->addTo($this->context->parameters['adminEmail'])->setHtmlBody($template)->send(); } catch (\Exception $e) { Debugger::log($e); $this->flashMessage("Email odebírateli {$reciever->email} se nepovedl odeslat", 'error'); } } $this->flashMessage('Emaily úspěšně odeslány', 'info'); }