PDFResponse jako priloha emailu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- darthcz
- Člen | 113
Dobrý den,
chtěl bych se zeptat, zda lze nějak jednoduše udělat, abych mohl odesílat pdfresponse jako soubor v příloze emailu.
Jde mi o něco takovéhoto:
<?php
$template = $this->createTemplate()->setFile(APP_DIR."/templates/Analyzy/keywordsResults.pdf.phtml");
$pdf = new PDFResponse($template);
$mail = new Nette\Mail\Mail;
$mail->setFrom($from)
->addTo($to)
->setSubject('Informace');
if (isset($text))
$mail->setHtmlBody($text);
if (isset($pdf))
$mail->addAttachment($pdf, null, 'application/pdf');
$mail->setMailer($mailer)
->send();
?>
Kód je zkrácen. Nechci jednotlivé přílohy nikde ukládat. Prostě bych rád vygeneroval a odeslal pdf.
Za odpověď děkuji.
- darthcz
- Člen | 113
Tak vyřešeno. Kdybyste někdo měl podobný problém, zasílám část kódu:
<?php
$template = $this->createTemplate()->setFile(APP_DIR."/templates/Analyzy/statisticsMail.phtml");
$pdf = new PDFResponse($template);
//odesleme pdf jako string, aby sel pripojit do prilohy
$pdf->outputDestination = 'S';
$mail = new Nette\Mail\Mail();
$mail->setFrom($from)
->addTo($to)
->setSubject($subject);
->addAttachment('statistiky-pozic.pdf', $pdf->send(), 'application/pdf');
->send();
//aby $pdf->send() fungovalo spravne, je treba v PDFResponse.php upravit kod na nize uvedeny
if ($this->outputDestination == 'S')
return $mpdf->Output($this->outputName,$this->outputDestination);
else
$mpdf->Output($this->outputName,$this->outputDestination);
?>