PHPackages                             beebmx/kirby-email-plus - 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. beebmx/kirby-email-plus

ActiveKirby-plugin[Mail &amp; Notifications](/categories/mail)

beebmx/kirby-email-plus
=======================

Email+ extends Kirby's email capabilities by adding support for multiple email services using the same Kirby email API.

1.2.1(5mo ago)2449↓35.7%1MITPHPPHP ^8.3CI passing

Since Nov 3Pushed 5mo agoCompare

[ Source](https://github.com/beebmx/kirby-email-plus)[ Packagist](https://packagist.org/packages/beebmx/kirby-email-plus)[ Docs](https://github.com/beebmx/kirby-email-plus)[ GitHub Sponsors](https://github.com/beebmx)[ RSS](/packages/beebmx-kirby-email-plus/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (9)Versions (5)Used By (1)

[![Build Status](https://camo.githubusercontent.com/8340674880c6583605ae52cd83045692aa8061a09a8b51a8a63ce401abaa0990/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f626565626d782f6b697262792d656d61696c2d706c75732f74657374732e796d6c3f6272616e63683d6d61696e)](https://github.com/beebmx/kirby-email-plus/actions)[![Total Downloads](https://camo.githubusercontent.com/d302d69dfd6fc10872a1308aa1f74c8d9d019e2d9143db575bff65cdebbc94aa/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626565626d782f6b697262792d656d61696c2d706c7573)](https://packagist.org/packages/beebmx/kirby-email-plus)[![Latest Stable Version](https://camo.githubusercontent.com/e11db46a68358d52141215fbf60c60edd8ff2ba39e6091fa1d2aa6a09b24cd45/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626565626d782f6b697262792d656d61696c2d706c7573)](https://packagist.org/packages/beebmx/kirby-email-plus)[![License](https://camo.githubusercontent.com/daef9cef2f3fcdf4dabb0b61c8ae016675c92130b99592493d5903e42de205b4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626565626d782f6b697262792d656d61696c2d706c7573)](https://packagist.org/packages/beebmx/kirby-email-plus)

Email+ for Kirby
================

[](#email-for-kirby)

Kirby has a built-in [email](https://getkirby.com/docs/reference/objects/cms/app/email) engine with support for `mail` and `smtp` transports. However, sometimes you may need more support for other email services like [Mailgun](https://www.mailgun.com) or [Resend](https://resend.com). Kirby `Email+` extends Kirby's email capabilities by adding support for multiple email services using the same Kirby email API.

[![Email+](/.github/assets/banner.jpg)](/.github/assets/banner.jpg)

---

Overview
--------

[](#overview)

- [1. Installation](#installation)
- [2. Usage](#usage)
- [3. Options](#options)
- [4. License](#license)
- [5. Credits](#credits)

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

[](#installation)

Right now, `Email+` supports two additional email transports: `mailgun` and `resend`.

### Mailgun installation

[](#mailgun-installation)

To use Mailgun as your email transport, you need to run the following command to install the required packages:

```
composer require beebmx/kirby-email-plus mailgun/mailgun-php symfony/http-client nyholm/psr7

```

### Resend installation

[](#resend-installation)

To use Resend as your email transport, you need to run the following command to install the required packages:

```
composer require beebmx/kirby-email-plus resend/resend-php

```

Usage
-----

[](#usage)

With Kirby `Email+` you can choose between the built-in [Kirby email](https://getkirby.com/docs/guide/emails) transports (`mail` and `smtp`) and the new ones added by this plugin (`mailgun` and `resend`).

First you need to configure the email transport you want to use in your `config.php` file:

```
return [
    'beebmx.email-plus' => [
        'type' => 'resend',
        'resend.key' => 're_XXXXXXXXXXXXXXXX',
    ],
];
```

Then, you can send emails using the Kirby email API as usual:

```
$kirby->email([
    'from'    => 'welcome@supercompany.com',
    'replyTo' => 'no-reply@supercompany.com',
    'to'      => 'someone@gmail.com',
    'cc'      => 'anotherone@gmail.com',
    'bcc'     => 'secret@gmail.com',
    'subject' => 'Welcome!',
    'body'    => 'It\'s great to have you with us',
  ]);
```

For convinience, you can also set the `type` directly in the transport configuration:

```
return [
    'email' => [
        'transport' => [
            'type' => 'resend',
        ],
    ],
    'beebmx.email-plus.resend.key' => 're_XXXXXXXXXXXXXXXX',
];
```

Options
-------

[](#options)

OptionTypeDefaultDescriptionbeebmx.email-plus.type`string`nullDefine the email transport `mailgun` or `resend`beebmx.email-plus.mailgun.domain`string`nullDefine your `mailgun` domain to send emails.beebmx.email-plus.mailgun.endpoint`string``https://api.eu.mailgun.net` for EU servers.beebmx.email-plus.mailgun.key`string`nullDefine your API Key for `mailgun`beebmx.email-plus.resend.key`string`nullDefine your API Key for `resend`Here's an example of a full use of the options from the `config.php` file:

```
return [
  'beebmx.email-plus' => [
      'type' => 'resend', // mailgun or resend
      'mailgun' => [
          'domain' => 'example.com',
          'endpoint' => 'https://api.mailgun.net',
          'key' => 'key-XXXXXXXXXXXXXXXX',
      ],
      'resend' => [
          'key' => 're_XXXXXXXXXXXXXXXX',
      ],
  ],
];
```

License
-------

[](#license)

Licensed under the [MIT](LICENSE.md).

Credits
-------

[](#credits)

- Fernando Gutierrez [@beebmx](https://github.com/beebmx)
- [All Contributors](../../contributors)

###  Health Score

42

—

FairBetter than 89% of packages

Maintenance74

Regular maintenance activity

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

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

Total

4

Last Release

178d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/434a3fd09c4701e824184e720b3d2fd97814ed8d1275417f6762c411bf146328?d=identicon)[beebmx](/maintainers/beebmx)

---

Top Contributors

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

---

Tags

kirby-pluginkirby4kirby5mailemailresendmailgunkirbykirby-pluginkirby5

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/beebmx-kirby-email-plus/health.svg)

```
[![Health](https://phpackages.com/badges/beebmx-kirby-email-plus/health.svg)](https://phpackages.com/packages/beebmx-kirby-email-plus)
```

###  Alternatives

[beebmx/kirby-courier

Courier offers a convenient and painless solution for creating emails tailored for your Kirby website.

403.0k2](/packages/beebmx-kirby-courier)[omnimail/omnimail

PHP Library to send email across all platforms using one interface.

32934.3k](/packages/omnimail-omnimail)[boundstate/yii2-mailgun

Mailgun integration for the Yii framework

28160.6k](/packages/boundstate-yii2-mailgun)[baibaratsky/php-mailgun

Mailgun API PHP library and Yii extension (as well as Yii2)

3224.6k](/packages/baibaratsky-php-mailgun)[yarcode/yii2-mailgun-mailer

Mailgun mailer implementation for Yii2

1576.0k](/packages/yarcode-yii2-mailgun-mailer)

PHPackages © 2026

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