therobfonz / laravel-mandrill-driver
Mandrill Driver for Laravel 9+
Installs: 2 610 096
Dependents: 0
Suggesters: 0
Security: 0
Stars: 79
Watchers: 6
Forks: 38
Open Issues: 1
Requires
- php: ^8.1
- illuminate/support: ^11.0
- mailchimp/transactional: ^1.0
- symfony/mailer: ^7.0
Requires (Dev)
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^v9.0.0
- phpunit/phpunit: ^10.0
README
This package re-enables Mandrill driver functionality using the Mail facade in Laravel 6+.
To install the package in your project, you need to require the package via Composer:
composer require therobfonz/laravel-mandrill-driver
To add your Mandrill secret key, add the following lines to config\services.php
and set MANDRILL_KEY
in your env:
'mandrill' => [ 'secret' => env('MANDRILL_KEY'), ],
You can also add custom Mandrill headers to each email sent, for this you need to add the headers array in the following format to config\services.php
:
'mandrill' => [ 'secret' => env('MANDRILL_KEY'), 'headers' => [ 'header-example-x' => env('MANDRILL_HEADER_X'), 'header-example-y' => env('MANDRILL_HEADER_Y'), ] ],
all the valid options in Mandrill docs at: https://mailchimp.com/developer/transactional/docs/smtp-integration/#customize-messages-with-smtp-headers
Accessing Mandrill message ID
Mandrill message ID's for sent emails can be accessed by listening to the MessageSent
event. It can then be read either from the sent data or the X-Message-ID header.
Event::listen(\Illuminate\Mail\Events\MessageSent::class, function($event) { $messageId = $event->sent->getMessageId(); $messageId = $event->message->getHeaders()->get('X-Message-ID'); }
Versions
Laravel 7+ Installation
composer require therobfonz/laravel-mandrill-driver:^3.0
Add the Mandrill mailer to your config\mail.php
:
'mandrill' => [ 'transport' => 'mandrill', ],
Set the MAIL_MAILER
value in your env to mandrill
to enable it:
MAIL_MAILER=mandrill
Laravel 6 Installation
As before, you can set the MAIL_DRIVER
value in your env to mandrill
to enable it:
MAIL_DRIVER=mandrill
Lumen Installation
Add the following line to bootstrap/app.php
$app->register(LaravelMandrill\MandrillServiceProvider::class);