mathieu-bour/laravel-mailjet

Mailjet Integration for Laravel and Lumen frameworks
1,329 1
Install
composer require mathieu-bour/laravel-mailjet
Latest Version:1.0.1
PHP:^7.2
License:MIT
Last Updated:Jul 26, 2020
Links: GitHub  ·  Packagist
Maintainer: Mathieu Bour

Mailjet integration for Laravel and Lumen

GitHub license Packagist Version Packagist GitHub issues GitHub pull requests Scrutinizer code quality

Allow to use the Mailjet Templating Language in Laravel mailables.

This package is not supported by Mailjet.

This package follows the Semantic Versioning specification.

Prerequisites

  • PHP >= 7.2
  • Laravel/Lumen 6 or 7

Compatibility matrix

laravel-mailjet Laravel / Lumen
^1.0.0 ^6.0 || ^7.0

Installation / configuration

Simply add the package to your dependencies.

composer require mathieu-bour/laravel-mailjet

Laravel

The package support the Package Discovery.

Lumen

Add the service provider to your bootstrap/app.php.

Configuration

In the config/services.php, add the following entry:

return [
    // ...
    'mailjet'   => [
        'key'     => 'your-mailjet-key',
        'secret'  => 'your-mailjet-secret',
        'call'    => true, // can be set to false to mock requests
        'options' => ['version' => 'v3.1'], // additional Mailjet options, see https://github.com/mailjet/mailjet-apiv3-php#options
    ],
    // ...
];

Usage

You can now use the class Windy\Mailjet\MailjetTemplateMailable as a base for your emails.

Example:

use Windy\Mailjet\MailjetTemplateMailable;

class PasswordForgottenMail extends MailjetTemplateMailable
{
    /** @var int The Mailjet Template ID. */
    protected $templateId = 1185614;
    public $firstName;
    public $resetLink;

    public function __construct(User $user)
    {
        // You can now use {{var:firstName}} and {{var:resetLink}} variables in your Mailjet templates
        $this->firstName = $user->firstname ?? $user->username ?? '';
        $this->resetLink = 'https://mysite.com/password-reset?token=' . $user->token;
    }
}