Poslanie Html mailu obsah z databaze

duskohu
Člen | 771
+
0
-

Ahojte snazim sa poslat html mail obsah mam v db, ako sa to da rozumne realizovat?

/** @var Nette\Bridges\ApplicationLatte\ILatteFactory */
private $latteFactory;

/** @var  Nette\Application\IPresenter */
private $presenter;

/** @var  Nette\Http\IRequest */
private $request;

/** @var Nette\Mail\IMailer */
private $mailer;


$latte = $this->latteFactory->create();
$latte->addProvider("uiPresenter", $this->presenter);
$latte->addProvider("uiControl", $this->presenter);

$params = [
    'userName' => 'Test user',
    'helloMessage' => 'Hello',
    'baseUrl' => $this->request->getUrl()->baseUrl,
];

UIMacros::install($latte->getCompiler());

// toto potrebujem nejako renderovat a poslat do setHtmlBody
$messageFromDb = '{helloMessage}, {userName}<br><a href="{baseUrl}">{baseUrl}</a>'

$mail = new Message();
$mail->setFrom('from@example.com')
    ->setSubject('Test subject')
    ->addTo('to@example.com')
    ->setHtmlBody(?????);
$this->mailer->send($mail);

Editoval duskohu (24. 4. 2020 11:23)

David Matějka
Moderator | 6354
+
+5
-

pokud tam máš jen proměnné, co potřebuješ dosadit, tak je snažší a bezpečnější použít str_replace nebo něco podobnýho. pokud je to plnohodnotné latte, tak string loader a ideálně se sandbox módem, jelikož jinak tam můžeš vykonat jakýkoliv php kód