php - Laravel 电子邮件队列有效但不发送

标签 php laravel email queue

我遇到了一个问题,我试图将一条消息排队发送给注册用户,当我运行时一切正常,但队列只是不起作用,有人可以帮我解决这个问题吗? 这是注册 Controller

 protected function create(array $data)
    {
      $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
            'type' => $data['type'],
        ]);
        $email = (string)$data['email'];
        $job = (new SendEmailJob($email))->delay(Carbon::now()->addSeconds(5));
        dispatch($job);

        return $user;
    }

我已经检查了我是否可以发送电子邮件并且它有效我可以发送电子邮件但是当我指向一个特定的电子邮件而不是来自注册表的数据时。 这是 SendEmailJob

 public function handle($user)
    {
        Mail::to($user)->send(new SendEmailMailable());
    }

最佳答案

听起来您没有运行队列。你可以用

php artisan queue:work

您也可能需要一个失败的作业表,而 artisan 对此有一个命令:

php artisan queue:failed-table

php artisan migrate

如果您想删除所有失败的作业,您可以这样做:

php artisan queue:flush

我建议在 laravel 文档站点上阅读所有这些内容:https://laravel.com/docs/5.7/queues

我也想分享一个good post on stackoverflow regarding queues .

关于php - Laravel 电子邮件队列有效但不发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54843630/

相关文章:

c# - 来自内存流的电子邮件附件在 C# 中显示为空白

linux - 两台linux机器之间的SMTP

php - Magento 1.9 Helper 找不到错误

php - 在我的类里面使用 pdo php

PHP/MySQL : Deleting data from DB

css - 在移动和中型设备中显示更少的类别(列表项)

javascript - 将 JSON 字符串转换为对象并显示为 HTML 表格

php - Laravel 模态绑定(bind)给出路由未找到错误

php - UPDATE 查询有问题

excel - 从无法送达的电子邮件正文中提取文本字符串到 Excel