bryanjamesmiller / laravel-inky
Foundation Inky email templates in Laravel
Requires
- illuminate/support: ^5.7|^6.0
- illuminate/view: ^5.7|^6.0
- incentfit/inky: 1.3.6.5
- symfony/dom-crawler: ^3.0|^4.0
- tijsverkoyen/css-to-inline-styles: ^2.2
Requires (Dev)
- graham-campbell/testbench: ^5.3
- phpunit/phpunit: ^8.0
- dev-master
- v9.0.1
- v8.9
- v8.8
- v8.7
- v8.5
- v8.4
- v8.3
- v8.2
- v8.1
- v8.0
- v7.9
- v7.8
- v7.7
- v7.4.3
- v7.4.2
- v7.4.1
- v7.4.0
- v7.2.0
- v7.1.1
- v7.1.0
- v7.0.1
- v0.7.0
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.1
- 0.1.0
- dev-feature/test-branch
- dev-test-merge
- dev-update-to-laravel-6
- dev-github-actions
- dev-support-php72
- dev-php72
This package is auto-updated.
Last update: 2025-03-07 11:49:29 UTC
README
Allows you to use Foundation for Emails 2 (formerly Inky) email templates nicely in Laravel 6.
Any views with a .inky.php
extension will be compiled with both Inky and Blade, allowing you to use both templating engines seamlessly together. CSS is automatically inlined so styles work in email clients that don't support external stylesheets.
Installation
Require with composer
composer require bryanjamesmiller/laravel-inky
Usage
Check the Foundation for Emails docs for full usage on how to use Inky and Foundation for Emails CSS.
Create an Inky view e.g. emails/welcome.inky.php
<container> <row> <columns>Welcome, {{ $name }}</columns> </row> </container>
Use Mail
as usual in Laravel
Mail::send('emails.welcome', ['name' => $user->name], function ($m) use ($user) { $m->from('hello@app.com', 'Your Application'); $m->to($user->email, $user->name)->subject('Welcome!'); });
You can create a Blade layout to inherit from e.g. emails/layout.inky.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width"/> <link rel="stylesheet" href="foundation-emails.css"> </head> <body> @yield('content') </body> </html>
then
@extends('emails.layout') @section('content') <container> <row> <columns>Welcome, {{ $name }}</columns> </row> </container> @stop
CSS Inlining
<style>
and <link rel="stylesheet">
are automatically inlined.
The location of your <link rel="stylesheet">
href
is resolved to the resources/assets/css
directory, so in the example above it expects some CSS at resources/assets/css/foundation-emails.css
.
Here's a handy reference for CSS in emails: CSS Support Guide for Email Clients