Automate innlining the CSS of your HTML emails using Laravel and Symfony Mailer
ajohnson6494/laravel-symfony-mailer-css-inliner is a Laravel package for automate innlining the css of your html emails using laravel and symfony mailer.
It currently has 0 GitHub stars and 15.776 downloads on Packagist (latest version v1.4.0).
Install it with composer require ajohnson6494/laravel-symfony-mailer-css-inliner.
Discover more Laravel packages by ajohnson6494
or browse all Laravel packages to compare alternatives.
Last updated
Most email clients won't render CSS (on a <link> or a <style>). The solution is inline your CSS directly on the HTML. Doing this by hand easily turns into unmantainable templates.
The goal of this package is to automate the process of inlining that CSS before sending the emails.
Requires PHP 8.1 and Laravel 9.0 or higher.
Using a wonderful CSS inliner package wrapped in a Symfony Mailer plugin and served as a Service Provider it just works without any configuration. Since this is a Symfony Mailer plugin, it will automatically inline your css when parsing an email template. You don't have to do anything!
Turns style tag:
<html>
<head>
<style>
h1 {
font-size: 24px;
color: #000;
}
</style>
</head>
<body>
<h1>Hey you</h1>
</body>
</html>
Or the link tag:
<html>
<head>
<link rel="stylesheet" type="text/css" href="./tests/css/test.css">
</head>
<body>
<h1>Hey you</h1>
</body>
</html>
Into this:
<html>
<head>
<style>
h1 {
font-size: 24px;
color: #000;
}
</style>
</head>
<body>
<h1 style="font-size: 24px; color: #000;">Hey you</h1>
</body>
</html>
This package needs Laravel 9.x.
Begin by installing this package through Composer. Require it directly from the Terminal to take the last stable version:
$ composer require ajohnson6494/laravel-symfony-mailer-css-inliner
At this point the inliner should be already working with the default options. If you want to fine-tune these options, you can do so by publishing the configuration file:
$ php artisan vendor:publish --provider='ajohnson6494\LaravelSymfonyMailerCssInliner\LaravelMailCssInlinerServiceProvider'
and changing the settings on the generated config/css-inliner.php file.
$ composer install
$ ./vendor/bin/phpunit
Please, let me know! Send a pull request or a patch. Questions? Ask! I will respond to all filed issues.
This package is greatly inspired, and mostly copied, from SwiftMailer CSS Inliner. I just made an easy drop-in solution for Laravel.
This package is open-sourced software licensed under the MIT license