morrelinko/laravel5-mail-dispatcher

此包已被废弃且不再维护。没有建议的替代包。
此包最新版本(0.1.0)没有提供许可信息。

0.1.0 2015-06-26 13:03 UTC

This package is not auto-updated.

Last update: 2024-08-03 17:01:17 UTC


README

安装

{
    "require": {
        ...
        
        "morrelinko/laravel5-mail-dispatcher": "dev-master"
    }
}

用法

1. 创建邮件处理器

namespace App\Mailers\Users;

class SendConfirmation
{
    protected $user;
    
    public function __construct(User $user)
    {
        $this->user = $user;
    }
    
    public function mail(Mailer $mailer)
    {
        $this->user->confirmation_code = str_random(32);
        $this->user->save();

        $mailer->send(
            'emails.confirmation',
            [
                'user' => $this->user,
                'code' => $this->user->confirmation_code
            ],
            function ($message) {
                $message->to($this->user->email)
                    ->subject(sprintf('%s %s', config('app.title'), 'Email Verification'));
            }
        );
    }
}

注意:您可以为容器外的对象使用类型提示 mail()(如示例中的 Mailer)。

2. 只需将 SendsMail 特性添加到任何想要发送邮件的类中,如下所示

use Morrelinko\MailDispatcher\SendsMail;

class UserAuthController
{
    use SendsMail;
    
    public function register()
    {
        $user = User::whereId(1)->first();
        
        $this->mail(
            new SendConfirmation($user)
        );
    }
}