Using Decorator Plugin with FileEmbedder Plugin

Swift Mailer is a fantastic library for sending email with php. Discuss this library or ask any questions about it here.

Moderators: Chris Corbyn, General Moderators

Post Reply
User avatar
kendall
Forum Regular
Posts: 852
Joined: Tue Jul 30, 2002 10:21 am
Location: Trinidad, West Indies
Contact:

Using Decorator Plugin with FileEmbedder Plugin

Post 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?
Post Reply