Nefunguje mi odesílání mailů pomocí latte šablony
- ryvova
- Člen | 9
Ahoj,
asi je to úplná prkotina, ale nemůžu na to přijít. Podle návodu na https://doc.nette.org/cs/mail mám:
$mail = new Message();
$latte = new Engine();
$mail
->setFrom('xyz@gmail.com')
->addTo($data['email'])
->setSubject('Potvrzení registrace')
->setHtmlBody($latte->render(__DIR__ . '/../templates/Sign/email.latte'));
$this->mailer->send($mail);
a skončím na chybě Nette\Mail\Message::setHtmlBody(): Argument #1 ($html) must be of type string, null given
Cesta k templatě je nastavená správně, když tam dám chybnou, je jiná
chybová hláška, že to nemůže najít templatu.
Na stejné chybě skončím i při pokusu použít
$template = $this->createTemplate()->setFile('email.latte');
co se v nějakém jiném příspěvku někomu doporučovalo.
Pro jistotu jsem v šabloně nechala pouze statický text, abych měla jistotu,
že to není tím a stejně to nefunguje.
Poněkud mne překvapuje, že metoda render u šablony vrací void() –
čekala bych, že to vrátí string, když to má lézt jako parametr do
setHtmlBody(). Pokud se vykašlu na latte a dám text rovnou do té fce, tak to
funguje.
Dík za každý tip, kde je zakopaný pes.