How to attach images in swiftmailer to embed them in twig mail template?
Asked Answered
F

2

6

I want to use images in my mail template - they should be sent with the mail. How do I embed them in twig template (a special path or setting to address them?)? Do I attach them as an attachment or are there some special settings?

Finnish answered 4/4, 2014 at 10:36 Comment(2)
Have you tried something already before going to ask something here?Cooks
I'm in process now :)Finnish
R
14

You can embed images into a Twig template by doing the following:

(Below assumes you've already setup the relevant Swift_Message as $message and $data may contain other information that you're passing through to the Twig template)

$data['image_src'] = $message->embed(Swift_Image::fromPath('path/to/image.jpg'));

$message->setBody(
    $this->templating->render('path/to/twigtemplate.html.twig', $data)
);

Then, inside your Twig template, you can use:

<img src="{{ image_src }}" alt="Image Description">

This will embed the image inline in the email to be sent out.

Retrocede answered 15/8, 2014 at 11:22 Comment(0)
D
2

You can embed elements while you are creating a body

documentation

Delative answered 4/4, 2014 at 10:39 Comment(2)
I think this documentation is just about embedding in swiftmailer but I guess the question is about embedding elements in twig template through swiftmailerMadden
Yeah, but in this case you can pass the generated url to template before tpl injection to body?Delative

© 2022 - 2024 — McMap. All rights reserved.