Blog d'un passionné du web (Symfony2, HTML5, Sass, Gulp…)

Mon site freelance
Mon Facebook - Mon Twitter

Générer et attacher un PDF dans un mail avec Symfony 3

Voici un petit tips qui permet de générer et  envoyer un PDF par mail sans avoir à l’enregistrer en local. Rien de bien compliqué mais ca fait toujours gagné du temps quand on a le bon exemple. Pour effectue cet envoi j’utilise Knp Snappy pour générer le PDF et Swiftmailer qui est le classique sur Symfony pour l’envoi de mail.
J’ai mis le code à la suite à vous de l’organiser proprement dans vos projets …

 


$html = $this->renderView("AppBundle::content.html.twig", []);
$filename = 'filename.pdf';
$pdf = $this->get("knp_snappy.pdf")->getOutputFromHtml($html);
$message = \Swift_Message::newInstance()
            ->setSubject('...')
            ->setFrom('...')
            ->setTo('...');
$body = $this->templating->render('AppBundle::yourcontent.html.twig', []);
$message->setBody($body, 'text/html');

//join PDF
$attachement = \Swift_Attachment::newInstance($pdf, $filename, 'application/pdf' );
$message->attach($attachement);
$this->mailer->send($message);

Et voilà !

21 novembre 2017


Previous Post

Next Post