Use Illuminate Mail outside Laravel.
159
3
2
Package Data
Maintainer Username: cretueusebiu
Maintainer Contact: cretu.eusebiu@gmail.com (Cretu Eusebiu)
Package Create Date: 2015-07-20
Package Last Update: 2015-08-03
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-23 03:12:23
Package Statistics
Total Downloads: 159
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 3
Total Watchers: 2
Total Forks: 2
Total Open Issues: 1

Illuminate Mail Outside Laravel

Installation

composer require illuminate/config

composer require illuminate/mail

composer require hazzard/mail

composer require guzzlehttp/guzzle (required for Mailgun and Mandrill)

Usage

use Hazzard\Mail\Mail;
use Illuminate\Container\Container;
use Illuminate\Config\Repository as Config;

// Create a container and config repository.
$app = new Container;
$app['config'] = new Config;

// Set the mail & services configuration.
$app['config']['mail'] = require 'config/mail.php';
$app['config']['services'] = require 'config/services.php';

$mail = new Mail($container);

// Set the storage path used by the views.
$mail->setViewStoragePath(_DIR__.'/path/to/views');

// Make the instance available globally via static methods (optional).
$mail->setAsGlobal();

// Create a class alias (optional). 
$mail->classAlias();
Using The Mailer
Mail::send('emails.welcome', ['key' => 'value'], function ($message) {
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});

The rest is the same as Laravel.

Providing A Custom View Factory

To provide a custom view factory register a view binding to the container.

The view factory must implement Illuminate\Contracts\View\Factory and the view Illuminate\Contracts\View\View (or at least to have a render method).

$container['view'] = new CustomViewFactory();