elite50/e50-mail-laravel

Laravel email facade with support for multiple Mailgun domains.

v1.3.0 2018-07-12 15:03 UTC

This package is not auto-updated.

Last update: 2024-12-20 17:20:15 UTC


README

An extension of Laravel's Mail facade allowing for dynamic configuration.

Using the facade

Install via composer

composer require elite50/e50-mail-laravel

Include in app/config/app.php

'providers' => array (
    ...
    'Elite50\E50MailLaravel\E50MailServiceProvider',
),

'aliases' => array (
    ...
    'E50Mail' => 'Elite50\E50MailLaravel\Facades\E50Mail',
    'E50MailWorker' => 'Elite50\E50MailLaravel\E50MailWorker',
)

Use the facade in your application

Example:
E50Mail::queue(
    // Sender domain (required for Mailgun only)
    'example.com',

    // Views
    ['html' => 'views.html-email'],

    // View data
    ['name' => 'John Doe'],

    // Message data
    [
        'toEmail' => 'john@example.com',
        'toName' => 'John Doe',
        'fromEmail' => 'robot@example.com',
        'fromName' => 'Mail Robot',
        'subject' => 'Action Required!',
        'headers' => [
            'X-Mail-Header' => 'abcd1234',
        ],
    ],

    // Custom driver (DEPRECATED - use custom mail config)
    'mailgun',

    // Custom queue
    'QueueName',

    // Custom mail config
    [
        'driver' => 'smtp',
        'host' => 'smtp.myhost.com',
    ]
);