Nelze odeslat email pomocí Nette\Mail\Message

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

Zdravím, poprvé zkouším odeslat email pomocí Nette, ovšem neúspěšně. V presenteru mám následující kód:

use Nette\Mail\Message;
use Nette\Templating\FileTemplate;

    private function sendEmail($order, $products) {
        $template = new FileTemplate($this->getContext()->params['appDir'] . '/templates/email.latte');
        $template->registerFilter(new Nette\Latte\Engine);
        $template->order = $order;
        $template->products = $products;

        $mail = new Message();
        $mail->setFrom('info@server.cz');
        $mail->addTo($order['email'], $order['name'] . ' ' . $order['surname']);
        $mail->setSubject('Potvrzení objednávky');
        $mail->setHtmlBody($template);
        $mail->send();
    }

Kód skončí s notice Trying to get property of non-object na řádce $mail->send();

V laděnce se to dostane až sem .../libs/Nette/Utils/LimitedScope.php:49 source ▼ eval ().
Konkrétně se jedná řádek č. 49 v této funkci:

43:        public static function evaluate(/*$code, array $vars = NULL*/)
44:        {
45:            if (func_num_args() > 1) {
46:                self::$vars = func_get_arg(1);
47:                extract(self::$vars);
48:            }
49:            $res = eval('?>' . func_get_arg(0));
50:            if ($res === FALSE && ($error = error_get_last()) && $error['type'] === E_PARSE) {
51:                throw new Nette\FatalErrorException($error['message'], 0, $error['type'], $error['file'], $error['line'], NULL);
52:            }
53:            return $res;
54:        }

Netušíte někdo co s tím? Předem děkuji za odpověď.

pawouk
Člen | 172
+
0
-

To se mi opravdu nezda, kopirujes to sem nebo prepisujes? Neni mozne treaba ze mas na misto $mail->send() napsano $meil->send() ? Protoze jinak si to nedovedu vysvetlit, dystak jestli bys nemohl hodit nekam funkcni kod?

chr1s
Člen | 15
+
0
-

pawouk napsal(a):

To se mi opravdu nezda, kopirujes to sem nebo prepisujes? Neni mozne treaba ze mas na misto $mail->send() napsano $meil->send() ? Protoze jinak si to nedovedu vysvetlit, dystak jestli bys nemohl hodit nekam funkcni kod?

Neboj, je to zkopírované a přesně tak to mám v presenteru. Momentálně nemám možnost dát někam kód, ale zkusím to co nejdříve.

Jan Voráček
Člen | 90
+
0
-

Není náhodou $order nebo $products NULL a v šabloně se snažíš číst nějakou jejich property?

chr1s
Člen | 15
+
0
-

Jan Voráček napsal(a):

Není náhodou $order nebo $products NULL a v šabloně se snažíš číst nějakou jejich property?

Super, tak tady bych problém nehledal! Už to prošlo. Teď si akorát musím zjistit, proč jsou NULL. Takže děkuji mnohokrát.