【问题标题】:Dynamic Configuration with Laravel Horizon使用 Laravel Horizo​​n 进行动态配置
【发布时间】:2020-02-07 23:03:46
【问题描述】:

我正在尝试动态更改邮件驱动程序的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 Horizo​​n。但是,当我执行队列作业时。它仍然使用默认配置。不是我动态设置的配置。

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

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

【问题讨论】:

    标签: laravel laravel-horizon


    【解决方案1】:

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

    Mail::mailer('postmark')
        ->to($request->user())
        ->send(new OrderShipped($order));
    

    【讨论】:

      【解决方案2】:
      public function handle()
      {
          config([
              'mail.username' => $this->username,
              'mail.password' => $this->password,
          ]);
          
      }
      

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-21
        • 2019-10-04
        • 1970-01-01
        • 1970-01-01
        • 2015-12-07
        • 1970-01-01
        • 1970-01-01
        • 2019-07-01
        相关资源
        最近更新 更多