# BMail The BMail package allows you to send email templates with Laravel to the Bluescale API. ## Installation First in your composer.json, add : ```bash "require": { "bluescale/laravel-bmail": "dev-master" } ``` and ```bash "repositories": [ { "type": "vcs", "url": "git@git.bluesquare.io:bluescale/laravel-bmail.git" } ] ``` Next update your package : ```bash composer update bluescale/laravel-bmail ``` Then publish the assets from your provider : ```bash php artisan vendor:publish ``` Finally add your API key in the .env : ```bash BMAIL_API_KEY=your_key BMAIL_API_URL=the_api_url ``` ## Usage First, create a new notification or use an existing one : ```bash php artisan make:notification BMailNotification ``` Next, add a public field '$id' to your class, which will be initialized in the constructor : ```bash public $id; /** * @param Integer $id */ public function __construct(Integer $id) { $this->id = $id; } ``` Then, in the via method add : ```bash return [BMailChannel::class]; ``` Then, create a 'toTemplate()' method, in which you specify your template fields : ```bash public function toTemplate($notifiable) { return (new BMailTemplate($this->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, from your controller, send a notification for a user : ```bash User::find('user_id')->notify(new BMailNotification('template_id')); ```