使用Laravel 5.5异步发送电子邮件

时间:2018-04-16 01:44:00

标签: php laravel email asynchronous laravel-5

如何以异步方式或以更快的方式发送电子邮件?

我用基本方法做了一个应用程序:

const UNDEFINED = '{YaLinqo.Utils.Undefined}';

public function append ($value, $key = Utils::UNDEFINED)
{
    return new self(function () use ($value, $key) {
        foreach ($this as $k => $v)
            yield $k => $v;
        if ($key !== Utils::UNDEFINED)
            yield $key => $value;
        else
            yield $value;
    });
}

然后是视图

PHP artisan make: mail demo

发送邮件

public function build()
    {
        return $this->view('emails.demo');
    }

我怎样才能更快地发送电子邮件?

1 个答案:

答案 0 :(得分:3)

可以使用Laravel内置的queuing方法发送电子邮件:

public function index() {
    $email = Auth::user()->email;

    Mail::to($email)->queue(new DemoMail());

    return view('home');
}

为了实现这一点,您必须先configure your queues

一旦设置了队列,您只需要使用以下命令由后台工作人员处理队列:

php artisan queue:work

这样可以异步发送电子邮件,而不会降低访问者的页面加载时间。