Go to file
Loann f29b5a8854 Constructor changing type hint 2020-04-28 18:07:20 +02:00
config Modifying readme and api files 2020-04-09 17:43:19 +02:00
src Constructor changing type hint 2020-04-28 18:07:20 +02:00
.gitignore Adding Guzzle 2020-04-09 10:56:55 +02:00
README.md Constructor changing type hint 2020-04-28 18:07:20 +02:00
composer.json Return type hints, psr, readme.md, composer.json 2020-04-27 17:53:30 +02:00
composer.lock Adding Guzzle 2020-04-09 10:56:55 +02:00

README.md

BMail

The BMail package allows you to send email templates with Laravel to the Bluescale API.

Installation

First in your composer.json, add :

"require": {
        "bluescale/laravel-bmail": "dev-master"
}

and

"repositories": [
        {
            "type": "vcs",
            "url": "git@git.bluesquare.io:bluescale/laravel-bmail.git"
        }
]

Next update your package :

composer update bluescale/laravel-bmail

Then publish the assets from your provider :

php artisan vendor:publish

Finally get your API key :

Connect to https://bluescale.email, go to the Templates tab, click on the API button and copy your API key.

And add it in your .env, along with the API URL :

BMAIL_API_KEY=your_api_key
BMAIL_API_URL=https://bluescale.email/api/project/template/send

Usage

First, create a new notification or use an existing one :

php artisan make:notification BMailNotification

Next, add a public field '$template_id' to your class, which will be initialized in the constructor :

public $template_id;

/**
 * BMailNotification constructor.
 * @param string $template_id
 */
public function __construct(string $template_id)
{
    $this->template_id = $template_id;
}

Then, in the via method add :

return [BMailChannel::class];

Then, create a 'toTemplate()' method, in which you specify your template fields :

public function toTemplate($notifiable)
{
    return (new BMailTemplate($this->template_id))
        ->sender("john.doe@gmail.com", "John OPTIONNAL") OPTIONNAL
        ->replyTo("jean.grey@gmail.com", "Jean OPTIONNAL") OPTIONNAL
        ->recipients([
            [
                "elvis@gmail.com", [
                    "name" => "Elvis" OPTIONNAL,
                    "parameters" => ["key" => "value"] OPTIONNAL
                ]
            ],
            [
                "robert@gmail.com"
            ]
        ])
        ->addRecipient("edward@gmail.com")
        ->parameters(["key" => "value", "key" => "value"])
        ->addParameter("key", "value");
}

Finally, get the template's id :

Go to https://bluescale.email, Templates tab, click on the template you want to use and copy the template identifier.

And from your controller, send a notification for a user :

User::find('user_id')->notify(new BMailNotification('template_id'));