0

我正在尝试更改邮件驱动程序username,并且password如下所示。

/**
* 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 Horizo​​n。但是,当我执行队列作业时。它仍然使用默认配置。不是我动态设置的配置。

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

如何动态设置配置并使 Laravel Horizo​​n 使用动态配置?

4

2 回答 2

0
public function handle()
{
    config([
        'mail.username' => $this->username,
        'mail.password' => $this->password,
    ]);
    
}

我就是那样做的。我认为重要的部分是您从外部获取将在 Job 类中使用的数据。

public function __construct($username,$password)
{
    $this->username= $username;
    $this->receiver = $password;
    
}
于 2021-01-31T12:13:25.690 回答
0

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

Mail::mailer('postmark')
    ->to($request->user())
    ->send(new OrderShipped($order));
于 2020-05-22T18:10:48.697 回答