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
+
0
-

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
+
+1
-

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);
?>