Laravel Documentation描述了安排邮件以供日后交付的功能,使用以下示例:
$when = Carbon::now()->addMinutes(10);
Mail::to($request->user())
->cc($moreUsers)
->bcc($evenMoreUsers)
->later($when, new OrderShipped($order));
文档中未提及进一步的配置(没有数据库表或该功能似乎需要的任何内容)。但是我想知道,这是如何工作的? Laravel在哪里存储信息以供以后检索。
此功能在较长时间内是否可靠?我想在注册后3天向用户发送邮件。可能邮件丢失了吗?例如,重新启动服务器时?
答案 0 :(得分:9)
来自您链接的同一个文档
此方法将自动将作业推送到 队列,以便在后台发送消息。当然,你会的 在使用此功能之前需要配置队列。
Laravel使用队列来处理这个问题。您需要在您发送的mailable中启用排队。邮件延迟发送也使用相同的队列。要使用此功能,您需要设置队列设置并运行队列侦听器或工作程序来处理队列。检查队列文档以获取更多相关信息。