codezero/mailer

This package is abandoned and no longer maintained. No replacement package was suggested.

Send mail in PHP with Laravel 5.

2.0.0 2016-07-12 18:44 UTC

This package is auto-updated.

Last update: 2020-02-11 01:36:30 UTC


README

GitHub release License Build Status Scrutinizer Total Downloads

Send mail in PHP (with Laravel 5 implementation).

Laravel 5 Installation

Install this package through Composer:

composer require codezero/mailer

Add a reference to MailerServiceProvider to the providers array in config/app.php:

'providers' => [
    'CodeZero\Mailer\MailerServiceProvider'
]

Usage

Create a new MailComposer class that extends CodeZero\Mailer\MailComposer.

<?php

namespace App;

use CodeZero\Mailer\MailComposer;

class WelcomeMailComposer extends MailComposer
{
    /**
     * Compose a welcome mail.
     *
     * @param string $email
     * @param string $firstname
     *
     * @return \CodeZero\Mailer\Mail
     */
    public function compose($email, $firstname)
    {
        $toEmail = $email;
        $toName = $firstname;
        $subject = 'Welcome!';
        $view = 'emails.welcome';
        $data = ['name' => $firstname];
        $options = null;

        return $this->getMail($toEmail, $toName, $subject, $view, $data, $options);
    }
}

You can accept any parameters you want in the compose() method (and actually name it whatever you like). The important part is that you call the getMail() method on the base class. This will return a CodeZero\Mailer\Mail object, that you use to send() the message.

// Make or inject your mail composer class
$mail = app()->make('App\WelcomeMailComposer');

// Compose and send
$mail->compose('example@example.com', 'Example Name')->send(); 

This will call Laravel's Mail::queue() behind the scenes.

Testing

$ vendor/bin/phpspec run

Security

If you discover any security related issues, please e-mail me instead of using the issue tracker.

License

The MIT License (MIT). Please see License File for more information.

Analytics