Laravel:如何防止稍后发送的邮件被发送?

时间:2019-03-15 17:03:11

标签: laravel

我正在向卖家发送电子邮件,通知他买家即将来临。

Mail::to($order->buyer)
    ->locale($order->buyer->privacy->language)
    ->later($when->addHour(), new ReminderForBuyer($order));

但是,我有一个问题,在某些情况下,买方可以取消他已经付款的订单。

那么如何防止发送此电子邮件?

1 个答案:

答案 0 :(得分:2)

您可以更改结构,以后不要延迟电子邮件。 只需发送新工作ReminderForBuyerJob::dispatch($order)->delay($when->addHour())

ReminderForBuyerJob将检查订单是否已取消,如果不取消,则不发送ReminderForBuyer