mathieu-bour / laravel-mailjet by Mathieu Bour

Mailjet Integration for Laravel and Lumen frameworks
1,328
1
1
Package Data
Maintainer Username: Mathieu Bour
Maintainer Contact: mathieu.tin.bour@gmail.com (Mathieu Bour)
Package Create Date: 2020-05-29
Package Last Update: 2020-07-26
Language: PHP
License: MIT
Last Refreshed: 2024-11-17 03:04:49
Package Statistics
Total Downloads: 1,328
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 1
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

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;
    }
}