appoly / mail-web
Catch your outgoing emails within your project making it easier to test and share
Installs: 4 881
Dependents: 0
Suggesters: 0
Security: 0
Stars: 86
Watchers: 3
Forks: 15
Open Issues: 0
Language:Vue
Requires
- php: ^8.1
- illuminate/console: *
- illuminate/support: ^9.21|^10.0|^11.0|^12.0
Requires (Dev)
- laravel/pint: ^1.13
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^9.0|^11.5.3
- dev-master
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 6.0.0
- 5.1.0
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.1.0
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.1
- 1.0.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.1
- dev-dom-parser
- dev-speed-change
- dev-102-links-in-email-preview-iframe-should-open-in-new-tabs-by-default
- dev-mailweb-design
- dev-filters-wip
This package is auto-updated.
Last update: 2025-03-19 14:35:11 UTC
README
MailWeb
A powerful Laravel email debugging and testing tool
🚀 Overview
MailWeb is a robust Laravel package that revolutionizes email development and debugging. It seamlessly captures and displays your application's outgoing emails in real-time, making email testing and sharing effortless.
✨ Features
- 📧 Real-time Email Interception: Catch and inspect outgoing emails instantly
- 🎨 Modern UI: Beautiful, responsive interface for easy navigation
- 🔍 Powerful Search: Quickly find emails with advanced search capabilities
- 🔄 Email Sharing: Share email previews with your team effortlessly
- 📎 Attachment Support: Handle email attachments with flexible storage options
- 🛡️ Secure Access Control: Granular control over who can access the dashboard
- 📱 Mobile Responsive: Optimized interface for both desktop and mobile devices
📋 Requirements
- PHP 8.1 or higher
- Laravel 9.21|10.0|11.0|12.0
🔧 Installation
- Install via Composer:
composer require appoly/mail-web
- Run migrations:
php artisan migrate
- Publish config (if needed):
php artisan vendor:publish --tag=mailweb-config --force
⚙️ Configuration
1. Route Registration
Add to your routes file:
Route::mailweb();
2. Access Control
Add to your AppServiceProvider
(Laravel 11+) or AuthServiceProvider
:
use Illuminate\Support\Facades\Gate; public function boot() { Gate::define('view-mailweb', function ($user) { return in_array($user->email, [ 'admin@example.com', // Add authorized emails ]); }); }
3. Local Development
For local development, set in your .env
:
MAIL_MAILER=log
📝 Usage
- Access the dashboard at:
{your-app-url}/mailweb
- Configure email storage limit in
.env
:
MAILWEB_LIMIT=30 # Default value
- Set up email pruning (recommended in
routes/console.php
):
use Illuminate\Support\Facades\Schedule; Schedule::command('mailweb:prune')->daily();
💾 Attachment Storage
Configure attachment storage in your .env
:
MAILWEB_ATTACHMENTS_DISK=s3 # Or any configured disk MAILWEB_ATTACHMENTS_PATH=/custom/path # Optional, defaults to /mailweb/attachments
🤝 Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Local Development Setup
- Clone the repository
- Install dependencies:
composer install
- Link to your test project - add to your test project's
composer.json
:
{ "repositories": [ { "type": "path", "url": "../path/to/MailWeb", "options": { "symlink": true } } ], "require": { "appoly/mail-web": "@dev" } }
📄 License
This project is licensed under the MIT License.
Made by Appoly