使用Laravel Horizon进行动态配置



我正在尝试即时更改邮件驱动程序的usernamepassword,如下所示。

/**
* Execute the job.
*
* @return void
*/
public function handle()
{   
config(['mail.username' => $this->username]);
config(['mail.password' => $this->password]);
Mail::to('me@me.com')->send(new OrderShipped());
}

动态配置设置位于队列作业中。对于队列处理,我使用的是 Laravel视野。但是,当我执行队列作业时。它仍在使用默认配置。不是我动态设置的配置。

注意:当我在配置设置后立即登录时,它显示了动态值。

如何动态设置配置,让Laravel地平线使用动态配置?

Laravel版本7.x开始,您现在可以声明发送电子邮件时要使用的邮件驱动程序。您需要在app/config/mail.php中正确配置所有连接和凭据。配置完成后,您可以通过mailer()函数指定驱动程序的名称,如下所示:

Mail::mailer('postmark')
->to($request->user())
->send(new OrderShipped($order));
public function handle()
{
config([
'mail.username' => $this->username,
'mail.password' => $this->password,
]);

}

我就是这样做的。我认为重要的部分是您可以从外部获取将在作业类中使用的数据。

public function __construct($username,$password)
{
$this->username= $username;
$this->receiver = $password;

}

相关内容

  • 没有找到相关文章

最新更新