bebo2xd / laravel-rest-mail-transport
Laravel custom mail transport for REST API integration with Digital Ocean deployments
dev-master
2025-09-08 16:12 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^9.0|^10.0|^11.0
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-09-08 16:15:14 UTC
README
A Laravel package that provides a custom mail transport for sending emails via REST API, specifically designed for Digital Ocean deployments.
Installation
Install the package via Composer:
composer require bebo2xd/laravel-rest-mail-transport
The service provider will be automatically registered via Laravel's package auto-discovery.
Configuration
- Add the
rest-api
mailer configuration to yourconfig/mail.php
:
'mailers' => [ // ... other mailers 'rest-api' => [ 'transport' => 'rest-api', 'host' => env('MAIL_HOST'), 'port' => env('MAIL_PORT', 587), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'encryption' => env('MAIL_ENCRYPTION'), ], ],
- Update your
.env
file:
MAIL_MAILER=rest-api MAIL_HOST='https://mailserver.example.com/smtp.php' MAIL_PORT=587 MAIL_USERNAME='email@example.com' MAIL_PASSWORD='PASSWORD' MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS="${MAIL_USERNAME}" MAIL_FROM_NAME="${APP_NAME}"
Usage
Once configured, Laravel will automatically use the REST API transport for sending emails. You can use Laravel's mail functionality as usual:
use Illuminate\Support\Facades\Mail; use App\Mail\YourMailable; Mail::to('user@example.com')->send(new YourMailable());
Features
- Supports all standard email features (to, cc, bcc, attachments, etc.)
- Custom headers for authentication
- Automatic logging of sent emails
- Error handling and exceptions
- Compatible with Laravel 9, 10, and 11
Requirements
- PHP ^8.1
- Laravel ^9.0|^10.0|^11.0
- Guzzle HTTP ^7.0
License
MIT License