puz/mail_autoembed

Automatically embed all image sources in your emails

0.1.0 2016-06-08 19:37 UTC

This package is auto-updated.

Last update: 2020-10-20 12:18:15 UTC


README

This package is mainly made for Laravel 5.2, but is fully useful for every application which uses Swift Mailer

To install: composer require puz/mail_autoembed

To use without laravel:

$mailer = new \Swift_Mailer;
$mailer->registerPlugin(new \Puz\Mail\AutoEmbed\ImagesToAttachments);

To use with laravel ^5.2:

// Add the service provider in the list of your service providers in app.php. It MUST be added after laravels mail service provider
$providers[
    ...
    \Puz\Mail\AutoEmbed\AutoEmbedServiceProvider::class,
    ...
 ];

This package will register two plugins to the mailer.

  • beforeSendPerformed
    • Right before the email is sent, it will scan the email for tags and it's src attribute. It will accept data:image, local image path and remote image
  • sendPerformed
    • Right after the mailer have sent the email away, it will go ahead and delete the temporary created images (for remote and data:image).

Contributions

Any suggestion or code improvement will be gladly accepted.

Future features

  • Save all the images which is attached. This can be useful in situations where the user send the email from a text editor and you need to display the email on your website as well. Good thing you saved the image right?!