Laravel 如何安排稍后发送的邮件?
How does Laravel schedule mails for later sending?
Laravel Documentation 描述了安排邮件稍后投递的能力,示例如下:
$when = Carbon::now()->addMinutes(10);
Mail::to($request->user())
->cc($moreUsers)
->bcc($evenMoreUsers)
->later($when, new OrderShipped($order));
文档中未提及进一步的配置(没有数据库表或该功能似乎需要的任何内容)。但我想知道,它是如何工作的? Laravel 将信息存储在哪里以供以后检索。
此功能在较长时间内是否可靠?我想在注册后 3 天向用户发送邮件。邮件有可能丢失吗?例如重启服务器时?
来自您链接的同一文档
This method will automatically take care of pushing a job onto the
queue so the message is sent in the background. Of course, you will
need to configure your queues before using this feature.
Laravel 使用队列来解决这个问题。您需要在发送的邮件中启用排队。邮件延迟发送也使用相同的队列。要使用此功能,您需要设置队列和队列侦听器或工作人员 运行 处理队列。查看队列文档以获取更多信息。
Laravel Documentation 描述了安排邮件稍后投递的能力,示例如下:
$when = Carbon::now()->addMinutes(10);
Mail::to($request->user())
->cc($moreUsers)
->bcc($evenMoreUsers)
->later($when, new OrderShipped($order));
文档中未提及进一步的配置(没有数据库表或该功能似乎需要的任何内容)。但我想知道,它是如何工作的? Laravel 将信息存储在哪里以供以后检索。
此功能在较长时间内是否可靠?我想在注册后 3 天向用户发送邮件。邮件有可能丢失吗?例如重启服务器时?
来自您链接的同一文档
This method will automatically take care of pushing a job onto the queue so the message is sent in the background. Of course, you will need to configure your queues before using this feature.
Laravel 使用队列来解决这个问题。您需要在发送的邮件中启用排队。邮件延迟发送也使用相同的队列。要使用此功能,您需要设置队列和队列侦听器或工作人员 运行 处理队列。查看队列文档以获取更多信息。