我目前正在尝试在应用程序中使用Amazon的SQS作为队列驱动程序。 但是我不知道为什么SQS无法接收/处理排队的电子邮件。 (该电子邮件未反映在邮件陷阱中。)
因此,当前,当用户注册时,他们应该能够接收验证电子邮件。在我的代码中,我触发了一个事件,以便我的听众能够处理电子邮件的发送。
其他信息:
我还有其他实现'ShouldQueue'接口的作业,所有这些作业都在处理中。 (例如图像处理等)
如果我将队列驱动程序切换为“数据库”,则会处理我排队的电子邮件并将其发送到mailtrap。)
SendVerificationNotification.php
use App\Mail\SignUpVerification;
use Illuminate\Support\Facades\Mail;
class SendVerificationNotification
{
public function handle(UserCreated $event)
{
// other logic
Mail::to($user->email)
->send(new SignUpVerification($token->value, $token->token_type_id));
}
}
SignUpVerification.php
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class SignUpVerification extends Mailable implements ShouldQueue
{
public function build(): Mailable
{
// other logic
return $this->markdown($template)
->with(['token' => $this->tokenValue]);
}
}