SilverStripe Mailer for sending mail via the Mailgun API

Installs: 2 806

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 6

Open Issues: 2


1.0.4 2016-07-04 10:50 UTC

This package is auto-updated.

Last update: 2024-06-04 14:15:07 UTC


This module lets you send SilverStripe emails through the official Mailgun PHP library, falling back to PHP's built-in sendmail() if Mailgun is unreachable.


  • PHP 5.4+
  • SilverStripe ~3.1
  • Mailgun-PHP
  • (optional) set up a manual cron task, or use silverstripe-crontask or silverstripe-queuedjobs(?) to keep log synced


Install with Composer. Learn how

composer require "micschk/silverstripe-mailer-mailgun:~1.0"


You will need to provide a Mailgun API key for a verified domain that you have set up in your Mailgun account.

Also, if you want to synchronize the Mailgun log, you will need to set up some way to run/ Mailgun_SyncLogTask::poll() every not and then. This gets the Mailgun events log from the API and saves it to the local database so you can see when messages got sent, openend and/or bounced etc.

Example configuration

In your project's _config/config.yml file:

  api_key: 'key-goes-here'
  api_domain: 'verified-domain'

In your project's _config.php file:

Injector::inst()->registerService(new MailgunMailer(), 'Mailer');


// Send email through Mailgun in live environment only
if (Director::isLive()) {
	Injector::inst()->registerService(new MailgunMailer(), 'Mailer');