webnuvola / laravel-mjml
Effortlessly craft responsive email templates using MJML within Laravel Mailables
Installs: 4 949
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- html2text/html2text: ^4.3
- laravel/framework: ^9.0||^10.0||^11.0
- spatie/mjml-php: ^1.1
Requires (Dev)
- orchestra/testbench: ^7.0||^8.0||^9.0
- pestphp/pest: ^2.34
README
Effortlessly craft responsive email templates using MJML within Laravel Mailables.
To use this package, follow these steps after generating a new Mailable.
Instead of extending Illuminate\Mail\Mailable
, extend Webnuvola\Laravel\Mjml\Mailable
.
In the Mailable class, define the build
method.
You can now use the mjml
method for defining a view or mjmlContent
to directly pass the MJML template.
Here's an example:
use Webnuvola\Laravel\Mjml\Mailable; class TestMail extends Mailable { /** * Build the message. */ public function build(): void { $this->mjml('emails.orders.shipped', [ 'order' => $order, ]); } }
Installation
You can install the package via composer:
composer require webnuvola/laravel-mjml
In your project, or on your server, you must have the JavaScript package mjml
installed.
npm install mjml
Make sure you have installed Node 16 or higher.
This package uses spatie/mjml-php
under the hood.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
Inspired by asahasrabuddhe/laravel-mjml package.
License
The MIT License (MIT). Please see License File for more information.