Odeslání emailu – text v DB
- motorcb
- Člen | 552
Zdravím,
chci odeslat email (html), jehož text je uložen v DB. Začal jsem takto:
$emailTemplateRow = $this->modelEmailTemplate->findByKey('activation');
$latte = new Latte\Engine;
$params = [
'activationLink' => $this->link('//:Front:Sign:activation', ['id' => $userRow->id, 'token' => $userRow->token]),
'username' => $userRow->username
];
$this->sendHtmlEmail($userRow->email, $emailTemplateRow->subject, $latte->renderToString((string)$emailTemplateRow->body, $params));
public function sendHtmlEmail($toEmail, $subject, $body)
{
$mail = new Message;
$mail->setFrom(self::FROM_EMAIL)
->addTo($toEmail)
->setSubject($subject)
->setHtmlBody($body);
$mailer = new SendmailMailer;
$mailer->send($mail);
}
Ale po odeslání mi to vrátí chybu:
**
RuntimeException
Missing template file '<p>Dobrý den {$username}, …
**
Poradil by prosím někdo jak na to?
Díky
- Mysteria
- Člen | 797
Ahoj, metoda renderToString očekává jako první parametr cestu k souboru
se šablonou.
Když to máš v databázi, tak použij StringLoader.
Editoval Mysteria (3. 1. 2019 23:31)