尝试用laravel实现动态SMTP,它在没有队列邮件的情况下工作得很好,但当向邮件添加队列时,它会采用默认邮件SMTP详细信息
dispatch(function () use ($details, $email, $name, $tutorEmail, $brandName, $ownerEmail, $createdBy, $mailSubject) {
Mail::send('mail.mailSchedule', $details, function ($m) use ($email, $name, $tutorEmail, $brandName, $ownerEmail, $createdBy, $mailSubject) {
$m->to($email, $name);
$m->from($ownerEmail, $brandName);
$m->subject($mailSubject);
});
})->delay(now()->addSeconds());
1条答案
按热度按时间ijxebb2r1#
邮件中的动态配置与队列作业不兼容,因为当作业在队列中时,配置设置(如服务器地址和端口)可能会更改。从队列中提取并执行作业时,配置设置可能不再有效。导致作业无法发送电子邮件。此问题的解决方案是在将作业推送到队列时将电子邮件配置设置作为参数传递,以便作业在执行时可以访问正确的设置。