PHPackages                             lekoala/silverstripe-mandrill - 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. lekoala/silverstripe-mandrill

ActiveSilverstripe-vendormodule[Mail &amp; Notifications](/categories/mail)

lekoala/silverstripe-mandrill
=============================

Adds mandrill in the SilverStripe CMS

5.0.2(1y ago)1827.3k↓33.3%18MITPHPPHP &gt;=8.1

Since Dec 24Pushed 1y ago4 watchersCompare

[ Source](https://github.com/lekoala/silverstripe-mandrill)[ Packagist](https://packagist.org/packages/lekoala/silverstripe-mandrill)[ GitHub Sponsors](https://github.com/lekoala)[ RSS](/packages/lekoala-silverstripe-mandrill/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (9)Versions (22)Used By (0)

SilverStripe Mandrill module
============================

[](#silverstripe-mandrill-module)

[![Build Status](https://github.com/lekoala/silverstripe-mandrill/actions/workflows/ci.yml/badge.svg)](https://github.com/lekoala/silverstripe-mandrill/actions/workflows/ci.yml/badge.svg)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/56be71ac96241164262337dcb781697630db6e0726d83a5e70fb4fa48a506871/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/lekoala/silverstripe-mandrill/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/22dec75de91f1c4c2bfa8a0e474abef876f02746a3034db5955674a5a62d609f/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/lekoala/silverstripe-mandrill/?branch=master)[![Build Status](https://camo.githubusercontent.com/dad2e0fdab6d7932833cbe98f008310328ab6691393c519c4b77f0ec194f7e5f/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6261646765732f6275696c642e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/lekoala/silverstripe-mandrill/build-status/master)[![codecov.io](https://camo.githubusercontent.com/24079a8141869d95d351dbe43f413c8c7bd6a2ab913752680858eb71e82801cd/68747470733a2f2f636f6465636f762e696f2f6769746875622f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f636f7665726167652e7376673f6272616e63683d6d6173746572)](https://codecov.io/github/lekoala/silverstripe-mandrill?branch=master)

[![Latest Stable Version](https://camo.githubusercontent.com/8ca9edff5d3b5c0fb6477f5f340da2da4795050972e58215ca039271cc713df9/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f76657273696f6e)](https://packagist.org/packages/lekoala/silverstripe-mandrill)[![Latest Unstable Version](https://camo.githubusercontent.com/9d542c64e6ee375c05292ac0ea4b7de0075afe066f0a98b9c0be042d5ffa22f2/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f762f756e737461626c65)](//packagist.org/packages/lekoala/silverstripe-mandrill)[![Total Downloads](https://camo.githubusercontent.com/fe7387342998614e1a96fbaed9453d033edc83e3fc602edb1a82bffba789266c/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f646f776e6c6f616473)](https://packagist.org/packages/lekoala/silverstripe-mandrill)[![License](https://camo.githubusercontent.com/a903b27d186a39fd85018b6894edde5214354fed1b6b454530ec65fe2dbe027b/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6c6963656e7365)](https://packagist.org/packages/lekoala/silverstripe-mandrill)[![Monthly Downloads](https://camo.githubusercontent.com/96b3df9539697a5af0ccf572c9cc383e4f5fcd9dd968020959191e639f369656/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f642f6d6f6e74686c79)](https://packagist.org/packages/lekoala/silverstripe-mandrill)[![Daily Downloads](https://camo.githubusercontent.com/4a9ffb1f82b08eb436c188e62438d16509a43e32f8d88df816f31a6bd05877cb/68747470733a2f2f706f7365722e707567782e6f72672f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f642f6461696c79)](https://packagist.org/packages/lekoala/silverstripe-mandrill)

[![codecov.io](https://camo.githubusercontent.com/7027a1838b2ddf51c40bc7a530ce9d85ad97bee1b4f0b10d62202c847a5f9d3f/68747470733a2f2f636f6465636f762e696f2f6769746875622f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6272616e63682e7376673f6272616e63683d6d6173746572)](https://camo.githubusercontent.com/7027a1838b2ddf51c40bc7a530ce9d85ad97bee1b4f0b10d62202c847a5f9d3f/68747470733a2f2f636f6465636f762e696f2f6769746875622f6c656b6f616c612f73696c7665727374726970652d6d616e6472696c6c2f6272616e63682e7376673f6272616e63683d6d6173746572)

Use Mandrill in SilverStripe

Define in your .env file the following constant

```
MANDRILL_API_KEY='YOUR_API_KEY_HERE'

```

or by defining the api key in your config.yml

```
LeKoala\Mandrill\MandrillHelper:
    mandrill_api_key: "key3goes9here"
```

This module uses the official php sdk version 1.0.54 with a few tweaks.

You can also autoconfigure the module with the following constants in your .env file

```
# Will log emails in the temp folders
MANDRILL_ENABLE_LOGGING=true
# Will disable sending (useful in development)
MANDRILL_SENDING_DISABLED=true
# Set app domain explicitly
MANDRILL_DOMAIN="mysite.co.nz"
# Also recommended to specify an explicit from
SS_SEND_ALL_EMAILS_FROM="noreply@mysite.co.nz"

```

By defining the Api Key, the module will register a new mailer that will be used to send all emails.

Integration
===========

[](#integration)

This module create a new admin section that allows you to see results from your api calls right from the SilverStripe CMS without having to log into mandrillapp.com

Webhooks
========

[](#webhooks)

From the Mandrill Admin, you can setup a webhook for your website. This webhook will be called and MandrillController will take care of handling all events for you.

By default, MandrillController will do nothing. Feel free to add your own extensions to MandrillController to define your own rules, like "Send an email to the admin when we receive a spam complaint".

MandrillController provides 4 extensions points:

- updateHandleAnyEvent
- updateHandleSyncEvent
- updateHandleInboundEvent
- updateHandleMessageEvent

It's recommended that you ensure requests are coming from Mailchimp Transactional rather than an imitator. Webhook authentication is disabled by default but you can enable webhook authentication through the config layer like so:

```
LeKoala\Mandrill\MandrillController:
  webhook_auth_enabled: true

```

You'll need your webhook authentication key which you can view and reset from the (Webhooks)\[\] page in your account. Add your key using the config layer or `.env` file.

via config

```
LeKoala\Mandrill\MandrillController:
  webhook_key: YOUR_KEY

```

via .env file

```
MANDRILL_WEBHOOK_KEY=YOUR_KEY

```

Migration from Swift Mailer
===========================

[](#migration-from-swift-mailer)

SilverStripe 5 replaced swift mailer by symfony/mailer

Make sure to read the docs [https://docs.silverstripe.org/en/5/developer\_guides/email/](https://docs.silverstripe.org/en/5/developer_guides/email/)

For SS4 version, check branch 3 and v4 releases

Compatibility
=============

[](#compatibility)

Tested with SilverStripe 5+

Maintainer
==========

[](#maintainer)

LeKoala -

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 81.8% 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 ~180 days

Recently: every ~266 days

Total

21

Last Release

544d ago

Major Versions

1.1.5 → 2.0.02017-07-13

2.0.0 → 3.0.02018-08-22

1.1.6 → 3.x-dev2020-03-13

3.x-dev → 4.0.02021-10-05

4.x-dev → 5.0.02023-07-26

PHP version history (3 changes)3.0.0PHP &gt;=5.6

4.0.0PHP &gt;=7.2

5.0.0PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/701d0bd1837aa291814dafee750a02471e7e0d20749626350231ffd3bfec0ec1?d=identicon)[lekoala](/maintainers/lekoala)

---

Top Contributors

[![lekoala](https://avatars.githubusercontent.com/u/250762?v=4)](https://github.com/lekoala "lekoala (130 commits)")[![tractorcow](https://avatars.githubusercontent.com/u/936064?v=4)](https://github.com/tractorcow "tractorcow (10 commits)")[![rsmclaren](https://avatars.githubusercontent.com/u/1579625?v=4)](https://github.com/rsmclaren "rsmclaren (7 commits)")[![tomzi](https://avatars.githubusercontent.com/u/4091451?v=4)](https://github.com/tomzi "tomzi (4 commits)")[![djmattski](https://avatars.githubusercontent.com/u/3836638?v=4)](https://github.com/djmattski "djmattski (2 commits)")[![camfindlay](https://avatars.githubusercontent.com/u/367847?v=4)](https://github.com/camfindlay "camfindlay (1 commits)")[![zarocknz](https://avatars.githubusercontent.com/u/7462446?v=4)](https://github.com/zarocknz "zarocknz (1 commits)")[![Linkdup](https://avatars.githubusercontent.com/u/1018387?v=4)](https://github.com/Linkdup "Linkdup (1 commits)")[![philbenoit](https://avatars.githubusercontent.com/u/1376814?v=4)](https://github.com/philbenoit "philbenoit (1 commits)")[![wilr](https://avatars.githubusercontent.com/u/101629?v=4)](https://github.com/wilr "wilr (1 commits)")[![zanderwar](https://avatars.githubusercontent.com/u/13566916?v=4)](https://github.com/zanderwar "zanderwar (1 commits)")

---

Tags

mandrillphpsilverstripesilverstripe-4silverstripe-5silverstripe-modulesilverstripecmsmodulemandrill

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/lekoala-silverstripe-mandrill/health.svg)

```
[![Health](https://phpackages.com/badges/lekoala-silverstripe-mandrill/health.svg)](https://phpackages.com/packages/lekoala-silverstripe-mandrill)
```

###  Alternatives

[lekoala/silverstripe-cms-actions

Add actions to your models in SilverStripe

39279.9k22](/packages/lekoala-silverstripe-cms-actions)[friendsofsilverstripe/backendmessages

DRY way to create message boxes in SilverStripe backend.

1015.4k2](/packages/friendsofsilverstripe-backendmessages)

PHPackages © 2026

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