Laravel Mailjet
, (*1)
Laravel package for handling Mailjet API v3 using this wrapper: https://github.com/mailjet/mailjet-apiv3-php, (*2)
It also provides a mailjetTransport for Laravel mail feature, (*3)
/!\ Install for Laravel 5.5 :hammer_and_wrench:, (*4)
into you composer.json:, (*5)
"mailjet/laravel-mailjet": "dev-laravel5.5",
Installation
First, include the package in your dependencies:, (*6)
composer require WOWMarketingCZ/laravel-mailjet
Then, you need to add some informations in your configuration files. You can find your Mailjet API key/secret here, (*7)
'providers' => [
...
Mailjet\LaravelMailjet\MailjetServiceProvider::class,
Mailjet\LaravelMailjet\MailjetMailServiceProvider::class,
...
]
'aliases' => [
...
'Mailjet' => Mailjet\LaravelMailjet\Facades\Mailjet::class,
...
]
- In the services.php file:
mailjet' => [
'key' => env('MAILJET_APIKEY'),
'secret' => env('MAILJET_APISECRET'),
]
MAILJET_APIKEY=YOUR_APIKEY
MAILJET_APISECRET=YOUR_APISECRET
Full configuration
'mailjet' => [
'key' => env('MAILJET_APIKEY'),
'secret' => env('MAILJET_APISECRET'),
'transactional' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3.1',
'call' => true,
'secured' => true
]
],
'common' => [
'call' => true,
'options' => [
'url' => 'api.mailjet.com',
'version' => 'v3',
'call' => true,
'secured' => true
]
]
]
You can pass settings to MailjetClient., (*8)
-
transactional
: settings to sendAPI client
-
common
: setting to MailjetClient accessible throught the Facade Mailjet
Mail driver configuration
In order to use Mailjet as your Mail driver, you need to update the mail driver in your config/mail.php
or your .env
file to MAIL_DRIVER=mailjet
, and make sure you are using a valid and authorised from email address configured on your Mailjet account. The sending email addresses and domain can be managed here, (*9)
For usage, please check the Laravel mail documentation, (*10)
Usage
In order to usage this package, you first need to import Mailjet Facade in your code:, (*11)
use Mailjet\LaravelMailjet\Facades\Mailjet;
Then, in your code you can use one of the methods available in the MailjetServices., (*12)
Low level API methods:, (*13)
Mailjet::get($resource, $args, $options)
Mailjet::post($resource, $args, $options)
Mailjet::put($resource, $args, $options)
Mailjet::delete($resource, $args, $options)
High level API methods:, (*14)
Mailjet::getAllLists($filters)
Mailjet::createList($body)
Mailjet::getListRecipients($filters)
Mailjet::getSingleContact($id)
Mailjet::createContact($body)
Mailjet::createListRecipient($body)
Mailjet::editListrecipient($id, $body)
For more informations about the filters you can use in each methods, refer to the Mailjet API documentation, (*15)
All method return Mailjet\Response
or throw a MailjetException
in case of API error., (*16)
You can also get the Mailjet API client with the method getClient()
and make your own custom request to Mailjet API., (*17)
ToDo
- Add additional unit tests to increase code coverage.