weblee / Mandrill by weblee

Laravel 5 Mandrill API Wrapper
372,387
24
5
Package Data
Maintainer Username: weblee
Maintainer Contact: lee@weblee.co.uk (Lee Smith)
Package Create Date: 2015-02-05
Package Last Update: 2016-04-05
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:02:10
Package Statistics
Total Downloads: 372,387
Monthly Downloads: 2,448
Daily Downloads: 42
Total Stars: 24
Total Watchers: 5
Total Forks: 5
Total Open Issues: 5

Mandrill

Simple Mandrill API wrapper for Laravel 5.

This packages gives you the ability to fully interact with Mandrill api ie, sending email via templates, getting user data, adding emails to blacklist...

Requirements

Laravel 5 & PHP 5.3 and later.

Documentation

Full Mandrill API documentation can be found here.

Installation

Per usual, install Commander through Composer.

"require": {
	"weblee/mandrill": "dev-master"
}

Next, update config/services.php with your Mandrill API key. You are better off using Laravel env file to store you key.

	'mandrill' => [
		'secret' => env('MANDRILL_KEY'),
	],

Now you are ready to register the service provider and facade if you wish config/app.php.

	'providers' => [
		......
		Weblee\Mandrill\MandrillServiceProvider::class,
	],
	
	'aliases' => [
		......
		'MandrillMail'  => Weblee\Mandrill\MandrillFacade::class
	]

Usage

Either inject the service into your construct or class method or use the supplied facade.

Examples:

<?php

namespace App;

use Weblee\Mandrill\Mail;

class SendMyMail{

	private $mandrill;
	
	/**
	* Via construct injection
	*
	*/
    public function __construct(Mail $mandrill)
    {
    	$this->mandrill = $mandrill;
    }
    
	public function sendTemplate($data)
	{
		$this->mandrill->messages()->sendTemplate($data)
	}
    
	// ----- OR  -------	

	/**
	* Via method injection
	*
	*/
	public function sendMail(Mail $mandrill, $data)
	{
		$mandrill->messages()->sendTemplate($data)
	}

	// ----- OR  -------

	/**
	* Via the Facade
	*
	*/
	public function sendMailByFacade($data)
	{
		\MandrillMail::messages()->sendTemplate($data);
	}
}

Just follow the Mandrill docs on what call's you can do and the data to provide.