Page 1 of 1

Using Decorator Plugin with FileEmbedder Plugin

Posted: Sun Jul 17, 2011 12:16 pm
by kendall
Hi,

I'm trying to send batch emails with each email having its own custom email messages and custom embedded file. However,

the following code

Code: Select all

$swift->attachPlugin(new Swift_Plugin_Decorator($replacements), "decorator");
$swift->attachPlugin(new Swift_Plugin_FileEmbedder(), "file_embedder");
$message = new Swift_Message(EMAIL_SUBJECT_TEXT);
$message->attach(new Swift_Message_Part(MESSAGE_TEMPL));
$message->attach(new Swift_Message_Part(MESSAGE_TEMPL, 'text/html'));
$swift->batchSend($message, $recipients, SENDER_EMAIL);
Embeds the image but doesn't replace each text as expected ( it only replaced it once thus each successive email has the first custom messages & embedded image)

If i were to switch around the plugin instantances

Code: Select all

$swift->attachPlugin(new Swift_Plugin_FileEmbedder(), "file_embedder");$swift->attachPlugin(new Swift_Plugin_Decorator($replacements), "decorator");
$message = new Swift_Message(EMAIL_SUBJECT_TEXT);
$message->attach(new Swift_Message_Part(MESSAGE_TEMPL));
$message->attach(new Swift_Message_Part(MESSAGE_TEMPL, 'text/html'));
$swift->batchSend($message, $recipients, SENDER_EMAIL);
The decorator operates as it should...however the images DON'T get embedded.

How do these plugins work?
Why is there this conflict?

Is there anything else I can do as a work around?