从排队的事件处理程序发送电子邮件



我使用Lumen 5.1和Redis作为队列。我有一个非常标准的事件处理程序,应该发送电子邮件:

<?php
namespace AppHandlersEvents;
use IlluminateContractsQueueShouldQueue;
use AppEventsUserHasRegistered;
use IlluminateContractsMailMailer;
class SendWelcomeEmail implements ShouldQueue
{
    protected $mailer;
    public function __construct(Mailer $mailer)
    {
        $this->mailer = $mailer;
    }
    public function handle(UserHasRegistered $event)
    {
        $user = $event->user;
        $this->mailer->raw('Test Mail', function ($m) use ($user) {
            $name = $user->getFirstName().''.$user->getLastName();
            $m->to($user->auth()->getEmail(), $name)->subject('This is a test.');
        });
    }
}

电子邮件是在我不使用ShouldQueue界面时发送的。但是,当我将事件处理程序推送到队列时(即使用ShouldQueue接口),电子邮件不会发送,也不会收到任何错误消息。

你对如何解决或调试这个问题有什么想法吗?

这不是一个bug,只是一个意外的行为。

我在Windows上使用Xampp和phpmail驱动程序进行开发。由于某些原因,排队的邮件没有保存在Xampp目录中的默认mailoutput文件夹中。取而代之的是,在Lumen目录中自动创建了一个新的mailoutput文件夹。

在那里我找到了所有的未接邮件

相关内容

  • 没有找到相关文章

最新更新