安排用户提交表单后40分钟使用mailgun发送电子邮件

时间:2019-01-15 07:53:53

标签: laravel email scheduled-tasks mailgun

我正在尝试安排在某个事件(注册)上发送的电子邮件。详细地说,如果有人注册,我想在1小时过去后将电子邮件发送给用户。

我正在使用 Laravel Mailgun 发送电子邮件。

Mail::send('emails.signup_notification', $messageData, function($message) use ($messageData)
    {
        $message->to('xyz@gmail.com')
            ->from('abc@gmail.com', 'Admin')
            ->subject("Notification Signup (#" . $messageData['id'] . ")");
    });

如何安排发送电子邮件以在1小时后发送电子邮件?

我一直在搜索有关此问题的信息,并从mailgun中找到了以下文档

文档 Tips & Tricks: Scheduling Email Delivery

如何在我的代码中使用它来安排电子邮件?

1 个答案:

答案 0 :(得分:0)

使用Laravel,您需要实现一个队列来处理您的电子邮件。

一旦为电子邮件配置了队列,就可以使用->later()配置来设置延迟计时器。

有关更多信息,请参见以下链接。

Laravel Mail Documentation

示例:

Mail::to($request->user())
    ->cc($moreUsers)
    ->bcc($evenMoreUsers)
    ->later($when, new OrderShipped($order));