Laravel HTML & CSS Email Inliner
To make HTML email work, you need to put all CSS rules inline to make sure it works everywhere. It's a pain when developing your code and that's why you want a package to do it on the fly., (*1)
This is just a Laravel Wrapper for PHP CssToInlineStyles (https://github.com/tijsverkoyen/CssToInlineStyles), (*2)
Installation
Laravel 5.x
Begin by installing this package through Composer., (*3)
$ composer require peepitkm/laravel-html-css-email-inliner
Add Inliner as a service provider in app.php, (*4)
'providers' => [
Emil\Inliner\InlinerServiceProvider::class,
]
Add Inliner alias, (*5)
'aliases' => [
Emil\Inliner\Facades\Laravel\Inliner::class
]
Laravel 4.x
Begin by installing this package through Composer., (*6)
$ composer require peepitkm/laravel-html-css-email-inliner "1.x-dev"
Add Inliner as a service provider in app.php, (*7)
'providers' => [
'Emil\Inliner\InlinerServiceProvider',
]
Add Inliner alias, (*8)
'aliases' => [
'Inliner' => 'Emil\Inliner\Facades\Laravel\Inliner'
]
Quick Example
Disable/enable the inliner
The inliner is enabled by default, (*9)
Inliner::disable();
Inliner::enable();
Check if the inliner is enabled/disabled
Inliner::isDisabled();
Inliner::isEnabled();
Known Issues
- no support for pseudo selectors
- no support for css-escapes
- UTF-8 charset is not always detected correctly. Make sure you set the charset to UTF-8 using the following meta-tag in the head:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />. (Note: using <meta charset="UTF-8"> does NOT work!)