stanwarri/mail-dispatcher

此软件包最新版本(dev-master)没有提供许可证信息。

dev-master 2015-11-10 13:30 UTC

This package is not auto-updated.

Last update: 2024-09-22 08:27:37 UTC


README

安装

{
    "require": {
        ...
        
        "stanwarri/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'));
            }
        );
    }
}

注意:您可以给想要从容器中解析的对象(如示例中的Mailer)的mail()方法添加类型提示。

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

use Stanwarri\MailDispatcher\SendsMail;

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