PHPackages                             marceloeatworld/plunk-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. marceloeatworld/plunk-laravel

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

marceloeatworld/plunk-laravel
=============================

Laravel mail transport for Plunk API

0.1.1(10mo ago)4341↓50%2[1 PRs](https://github.com/marceloeatworld/plunk-laravel/pulls)MITPHPPHP ^8.1

Since Apr 25Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/marceloeatworld/plunk-laravel)[ Packagist](https://packagist.org/packages/marceloeatworld/plunk-laravel)[ RSS](/packages/marceloeatworld-plunk-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (5)Versions (3)Used By (0)

Laravel Plunk
=============

[](#laravel-plunk)

\#1 Laravel mail transport for [Plunk](https://useplunk.com) with event tracking and email verification, compatible with native PHP. Works with both the official Plunk service and self-hosted instances.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 10, 11, or 12

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

[](#installation)

```
composer require marceloeatworld/plunk-laravel
```

Publish the config file:

```
php artisan vendor:publish --tag="plunk-config"
```

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

[](#configuration)

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

```
'mailers' => [
    // ... other mailers

    'plunk' => [
        'transport' => 'plunk',
    ],
],
```

Add to your `.env`:

```
MAIL_MAILER=plunk
PLUNK_API_KEY=sk_your_secret_key
```

For self-hosted Plunk:

```
PLUNK_API_URL=https://plunk.yourdomain.com
PLUNK_API_ENDPOINT=/api/v1/send
```

Usage
-----

[](#usage)

### Sending Emails (Laravel Mail)

[](#sending-emails-laravel-mail)

Use Laravel's mail system as usual -- emails are sent through Plunk automatically:

```
Mail::to('user@example.com')->send(new WelcomeMail());
```

Attachments, CC, BCC, and reply-to are all supported:

```
Mail::to('user@example.com')
    ->cc('manager@example.com')
    ->bcc('audit@example.com')
    ->send(new InvoiceMail());
```

### Direct API Access (Facade)

[](#direct-api-access-facade)

Use the `Plunk` facade for direct API access:

```
use MarceloEatWorld\PlunkLaravel\Facades\Plunk;

// Send email directly
Plunk::sendEmail('user@example.com', 'Welcome', 'Hello!', [
    'from' => 'hello@yourdomain.com',
    'name' => 'Your App',
    'reply' => 'support@yourdomain.com',
]);

// Send with a Plunk template
Plunk::sendTemplate('user@example.com', 'tmpl_welcome', [
    'name' => 'John',
    'action_url' => 'https://app.example.com/verify',
]);
```

### Event Tracking

[](#event-tracking)

Track events to trigger automations and segment contacts:

```
Plunk::trackEvent('user@example.com', 'signed_up', [
    'plan' => 'pro',
    'source' => 'landing_page',
]);
```

### Email Verification

[](#email-verification)

Verify email addresses before sending:

```
$result = Plunk::verifyEmail('user@example.com');

if ($result['data']['valid']) {
    // Email is valid
}
```

### Multiple Recipients with Names

[](#multiple-recipients-with-names)

```
Plunk::sendEmail(
    [
        'alice@example.com',
        ['name' => 'Bob Smith', 'email' => 'bob@example.com'],
    ],
    'Team Update',
    'Hello team!',
);
```

### Attachments (Direct API)

[](#attachments-direct-api)

```
Plunk::sendEmail('user@example.com', 'Your Invoice', 'Attached.', [
    'from' => 'billing@yourdomain.com',
    'attachments' => [
        [
            'filename' => 'invoice.pdf',
            'content' => base64_encode(file_get_contents('/path/to/invoice.pdf')),
            'contentType' => 'application/pdf',
        ],
    ],
]);
```

Testing
-------

[](#testing)

```
composer test
```

Credits
-------

[](#credits)

- [Marcelo EatWorld](https://github.com/MarceloEatWorld)

License
-------

[](#license)

The MIT License (MIT). See [LICENSE.md](LICENSE.md) for details.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance74

Regular maintenance activity

Popularity22

Limited adoption so far

Community9

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 ~70 days

Total

2

Last Release

319d ago

PHP version history (2 changes)0.1.0PHP ^8.0

0.1.1PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/b50b46eb9dc22e81943c192896b4c697c18a2d30bc914948c46a3106637a59f9?d=identicon)[marceloeatworld](/maintainers/marceloeatworld)

---

Top Contributors

[![marceloeatworld](https://avatars.githubusercontent.com/u/20625497?v=4)](https://github.com/marceloeatworld "marceloeatworld (6 commits)")

---

Tags

emaillaravellaravel-packagemailmail-transportphpplunktransactional-emaillaravelmailemailtransportplunk

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[s-ichikawa/laravel-sendgrid-driver

This library adds a 'sendgrid' mail driver to Laravel.

4139.3M1](/packages/s-ichikawa-laravel-sendgrid-driver)[coconutcraig/laravel-postmark

Laravel package for sending mail via the Postmark API

2152.9M1](/packages/coconutcraig-laravel-postmark)[propaganistas/laravel-disposable-email

Disposable email validator

5762.6M6](/packages/propaganistas-laravel-disposable-email)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)

PHPackages © 2026

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