larsklopstra/envelop
| Install | |
|---|---|
composer require larsklopstra/envelop |
|
| Latest Version: | v1.1.0 |
| PHP: | ^8.2 |
| License: | MIT |
| Last Updated: | Mar 19, 2026 |
| Links: | GitHub · Packagist |
Envelop
Create beautiful, email-client compatible templates using Laravel Blade components and Tailwind-inspired atomic CSS utility classes. Envelop makes email development simple and maintainable.
Features
- 📧 Email-Safe Components - 15 Blade components designed for universal email client compatibility
- 🎨 Atomic CSS System - Tailwind-inspired utility classes that compile to inline styles
- 🔗 Laravel Integration - Works seamlessly with Laravel Mail, zero configuration needed
- ✨ Extensible Architecture - Create custom themes, rules, and presets to match your brand
- 💻 Clean Blade Syntax - Write maintainable templates without managing nested tables
- ✅ Battle-Tested - Compatible with Gmail, Outlook, Apple Mail, and other major clients
Requirements
- PHP 8.2 or higher
- Laravel 12.0 or higher
Installation
Install Envelop via Composer:
composer require larsklopstra/envelop
Laravel's package auto-discovery will automatically register the service provider.
Quick Start
Create a welcome email template:
<x-envelop::html>
<x-envelop::head title="Welcome" />
<x-envelop::body class="bg-slate-100">
<x-envelop::container class="bg-white">
<x-envelop::section class="bg-blue-600 p-8">
<x-envelop::heading as="h1" class="text-white text-3xl font-bold text-center">
Welcome to Our Service
</x-envelop::heading>
</x-envelop::section>
<x-envelop::section class="p-8">
<x-envelop::text class="text-slate-700 mb-6">
Thanks for signing up! We're excited to have you on board.
</x-envelop::text>
<x-envelop::button
href="https://example.com/get-started"
class="bg-blue-600 text-white px-8 py-4 rounded-lg"
>
Get Started Now
</x-envelop::button>
</x-envelop::section>
<x-envelop::section class="bg-slate-50 p-8 border-t border-slate-200">
<x-envelop::text class="text-xs text-slate-500 text-center">
© 2026 Your Company. All rights reserved.
</x-envelop::text>
</x-envelop::section>
</x-envelop::container>
</x-envelop::body>
</x-envelop::html>
The atomic CSS classes automatically convert to inline styles for maximum email client compatibility.
Available Components
Envelop provides 15 email-safe components:
<x-envelop::html>- Document root with email client doctype<x-envelop::head>- Document head with meta tags<x-envelop::body>- Body wrapper with base styles<x-envelop::container>- Centered content container<x-envelop::section>- Content section with table layout<x-envelop::row>- Multi-column row container<x-envelop::column>- Column for layouts<x-envelop::heading>- Responsive headings (h1-h6)<x-envelop::text>- Paragraph text<x-envelop::button>- Call-to-action button<x-envelop::link>- Text link<x-envelop::img>- Responsive image<x-envelop::hr>- Horizontal rule<x-envelop::preview>- Email preview text<x-envelop::font>- Custom font integration
Atomic CSS Classes
Use familiar Tailwind-like utility classes that compile to email-safe inline styles:
<!-- Colors -->
<x-envelop::text class="text-blue-600 bg-slate-100">
<!-- Spacing -->
<x-envelop::section class="p-8 mx-4 mb-6">
<!-- Typography -->
<x-envelop::heading class="text-3xl font-bold text-center">
<!-- Borders -->
<x-envelop::section class="border border-slate-200 rounded-lg">
<!-- Sizing -->
<x-envelop::column class="w-1/2">
Documentation
For complete documentation, including:
- Detailed component API
- Full atomic CSS reference
- Custom themes and presets
- Advanced usage examples
Visit https://github.com/larsklopstra/envelop
Testing
Run the test suite:
composer test
Run code style checks:
composer format
Changelog
Please see the releases page for information on recent changes.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Security
If you discover any security-related issues, please email lars@klopstra.me instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
Related Packages
A set of components to utilize in your Laravel Blade views using TALL stack.
A Livewire UI component library for the TALL stack, forked from MaryUI and adapt...
Gorgeous UI components for Livewire powered by daisyUI and Tailwind
Complete Flowbite component library for Laravel with Blade components, Tailwind...