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

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

  1. Add the rest-api mailer configuration to your config/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'),
    ],
],
  1. 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