PHPackages                             mailbino/laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. mailbino/laravel

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

mailbino/laravel
================

Laravel SDK for Mailbino — mail driver + API client

v0.1.1(2w ago)0330—0%MITPHPPHP ^8.2

Since Mar 5Pushed 2w agoCompare

[ Source](https://github.com/Waypointer-Digital/mailbino-laravel)[ Packagist](https://packagist.org/packages/mailbino/laravel)[ RSS](/packages/mailbino-laravel/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (5)Versions (3)Used By (0)

Mailbino for Laravel
====================

[](#mailbino-for-laravel)

Laravel SDK for [Mailbino](https://mailbino.com) — transactional email that's easy to test.

Provides both a **Laravel mail driver** (use `Mail::send()` as usual) and a **direct API client** for Mailbino-specific features like tags, metadata, scoping, and test mode.

Installation
------------

[](#installation)

```
composer require mailbino/laravel
```

Configuration
-------------

[](#configuration)

Add your API token to `.env`:

```
MAIL_MAILER=mailbino

MAILBINO_API_TOKEN=mbn_live_xxxxxxxxxxxx
```

Optionally publish the config file:

```
php artisan vendor:publish --tag=mailbino-config
```

### Mail driver setup

[](#mail-driver-setup)

Add the `mailbino` mailer to `config/mail.php`:

```
'mailers' => [
    'mailbino' => [
        'transport' => 'mailbino',
    ],
    // ...
],
```

That's it. All `Mail::send()` calls now go through Mailbino.

Usage
-----

[](#usage)

### Standard Laravel Mail (zero changes needed)

[](#standard-laravel-mail-zero-changes-needed)

```
Mail::to($user)->send(new WelcomeMail($user));
```

### With Mailbino-specific features

[](#with-mailbino-specific-features)

Use custom headers to pass tags, metadata, and scoping through the standard mail interface:

```
Mail::to($user)->send(new InvoiceMail($invoice));

// In your Mailable's headers() method:
public function headers(): Headers
{
    return new Headers(
        text: [
            'X-Mailbino-Tags' => 'invoice, billing',
            'X-Mailbino-Scope-Type' => 'invoice',
            'X-Mailbino-Scope-Id' => $this->invoice->id,
            'X-Mailbino-Metadata' => json_encode(['amount' => $this->invoice->total]),
        ],
    );
}
```

Available headers:

HeaderDescription`X-Mailbino-Tags`Comma-separated tags`X-Mailbino-Scope-Type`Scope type (e.g. `order`, `user`)`X-Mailbino-Scope-Id`Scope ID`X-Mailbino-Metadata`JSON-encoded metadata object`X-Mailbino-Test-Recipient`Override test recipient for this message`X-Mailbino-External-Id`Your own message ID (UUID)### Direct API client

[](#direct-api-client)

For full control, use the `Mailbino` facade:

```
use Mailbino\Laravel\Facades\Mailbino;

// Send an email
$result = Mailbino::send([
    'from' => 'noreply@m.yourapp.com',
    'from_name' => 'Your App',
    'to' => ['email' => 'user@example.com', 'name' => 'John'],
    'subject' => 'Your invoice is ready',
    'html' => 'Invoice',
    'tags' => ['invoice'],
    'metadata' => ['invoice_id' => 'INV-123'],
    'scope_type' => 'invoice',
    'scope_id' => 'INV-123',
]);

// $result = ['message_id' => '...', 'status' => 'queued']

// Query messages
$messages = Mailbino::messages(['status' => 'delivered', 'to_email' => 'user@example.com']);

// Get a specific message
$message = Mailbino::message('a1b2c3d4-...');

// Get message events
$events = Mailbino::events('a1b2c3d4-...');
```

Test Mode
---------

[](#test-mode)

Mailbino has built-in test mode — enable it in the Mailbino dashboard and all emails are redirected to your test recipients with a banner showing the original address.

### Option 1: Dashboard

[](#option-1-dashboard)

Enable test mode on your app in the Mailbino dashboard and add your test recipients there.

### Option 2: Environment variable

[](#option-2-environment-variable)

Set a global test recipient in `.env`:

```
MAILBINO_TEST_RECIPIENT=developer@company.com
```

This sends `test_recipient` on every API call. Combined with test mode on the app, all emails land in your inbox.

### Option 3: Per-message

[](#option-3-per-message)

```
// Via mail headers
'X-Mailbino-Test-Recipient' => 'developer@company.com'

// Via direct API
Mailbino::send([
    // ...
    'test_recipient' => 'developer@company.com',
]);
```

Error Handling
--------------

[](#error-handling)

```
use Mailbino\Laravel\MailbinoException;

try {
    Mailbino::send([...]);
} catch (MailbinoException $e) {
    $e->statusCode;  // 422
    $e->apiError;    // "Domain not verified."
    $e->apiMessage;  // "The sender domain for..."
}
```

License
-------

[](#license)

MIT

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance97

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

16d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6133f6c6081a85a9b24bed114032fb46179b111e4428254e7c1fd932db40e9e8?d=identicon)[henryvrolings](/maintainers/henryvrolings)

---

Top Contributors

[![henryvrolings](https://avatars.githubusercontent.com/u/1826196?v=4)](https://github.com/henryvrolings "henryvrolings (2 commits)")

---

Tags

laravelemailtransactional emailmailbino

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mailbino-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/mailbino-laravel/health.svg)](https://phpackages.com/packages/mailbino-laravel)
```

###  Alternatives

[coconutcraig/laravel-postmark

Laravel package for sending mail via the Postmark API

2152.8M1](/packages/coconutcraig-laravel-postmark)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

20887.0k](/packages/erag-laravel-disposable-email)[princealikhan/laravel-mautic-api

Free and Open Source Marketing Automation API

415.9k](/packages/princealikhan-laravel-mautic-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
