You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel框架下通过队列发送原始邮件的实现方法

无需View或Mailable队列发送原始邮件的方法

当然可以实现!在Laravel里,你完全不用创建Mailable类或者Blade视图,直接通过闭包结合队列发送方法就能搞定原始邮件的队列投递。

这里有两种常用的实现方式:

1. 直接使用Mail::queue闭包

这是最直接的方式,把邮件的构建逻辑写到闭包里,Laravel会自动将这个任务推入队列:

Mail::queue(function ($message) {
    $message->subject('Email de test')
            ->to('test@example.org')
            ->setBody('bonjour', 'text/plain'); // 第二个参数可选,默认就是纯文本类型
});

2. 延迟队列发送(可选)

如果需要延迟一段时间再发送,用Mail::later代替Mail::queue即可:

// 延迟5分钟发送邮件
Mail::later(now()->addMinutes(5), function ($message) {
    $message->subject('Email de test')
            ->to('test@example.org')
            ->setBody('bonjour');
});

注意事项

  • 确保你的队列配置正确:检查.env文件中的QUEUE_CONNECTION,不要设置为sync(这是默认值,会同步发送,不会进入队列),可以改成database、redis等适合你的队列驱动。
  • 闭包里的逻辑和你用Mail::raw的逻辑完全一致,都是直接设置邮件的核心内容,没有额外的依赖。

内容的提问来源于stack exchange,提问作者rap-2-h

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:13:16