pandawa / mailproxy-laravel
Laravel Mail driver for Mail Proxy - send emails through your self-hosted Mail Proxy
dev-master / 1.x-dev
2026-03-20 16:03 UTC
Requires
- php: >=8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/mail: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- symfony/mailer: ^6.0|^7.0
This package is auto-updated.
Last update: 2026-03-20 16:04:49 UTC
README
Laravel Mail driver for sending emails through your self-hosted Mail Proxy.
Requirements
- PHP 8.1+
- Laravel 10, 11, or 12
Installation
composer require pandawa/mailproxy-laravel
The service provider is auto-discovered by Laravel.
Configuration
1. Add the mailer to config/mail.php
'mailers' => [ // ...existing mailers... 'mail-proxy' => [ 'transport' => 'mail-proxy', 'endpoint' => env('MAIL_PROXY_ENDPOINT'), 'api_key' => env('MAIL_PROXY_API_KEY'), 'timeout' => env('MAIL_PROXY_TIMEOUT', 30), 'from_address' => env('MAIL_FROM_ADDRESS'), 'from_name' => env('MAIL_FROM_NAME'), ], ],
2. Set environment variables in .env
MAIL_MAILER=mail-proxy MAIL_PROXY_ENDPOINT=http://localhost:9501 MAIL_PROXY_API_KEY=your-api-key-here MAIL_FROM_ADDRESS=noreply@example.com MAIL_FROM_NAME="App Name"
| Variable | Description | Default |
|---|---|---|
MAIL_PROXY_ENDPOINT |
Base URL of the Mail Proxy API | (required) |
MAIL_PROXY_API_KEY |
API key from the Mail Proxy dashboard | (required) |
MAIL_PROXY_TIMEOUT |
HTTP timeout in seconds | 30 |
MAIL_FROM_ADDRESS |
Default from email address | null |
MAIL_FROM_NAME |
Default from name | null |
Usage
Once configured, use Laravel's Mail facade as usual:
use Illuminate\Support\Facades\Mail; use App\Mail\WelcomeEmail; Mail::to('user@example.com')->send(new WelcomeEmail());
Attachments, CC, BCC, HTML and plain text bodies are all supported.
License
MIT