Q:

pass array of emails to Job class Mail::to

I am able to send single email but when it comes to multiple emails jobs class fails to send it to multiple users.
The code below works fine and sends email to one user
$email = new Report($this->user);
Mail::to($this->user->email)->queue($email); 

Even hard-coding the email works too
$email = new Report($this->user);
Mail::to("example@hello.com")->queue($email); 

But when I pass multiple or array of emails Job fail:
$email = new Report($this->user);
$all_admin = User::select('email')->where('role',2)->get()->pluck('email')->toArray();
$all_admins = json_encode($all_admin, true);
Mail::to($all_admins )->queue($email); 

This code is written in App\Jobs\ReportAdmin file in handle function.
I have sent before array of emails without using jobs 
something like:
Mail::send('emails.report', ['firstname'=>$firstname,'lastname'=>$lastname], function ($message)
        {
            $message->from('hello@example.com', 'auto-reply email');
            $message->to($all_admins);
            $message->subject('subject');
        });

A:

From the doc

To send a message, use the to method on the Mail facade. The to method accepts an email address, a user instance, or a collection of users.

So do this.
$email = new Report($this->user);

$admins = User::select('email')->where('role', 2)->get();

Mail::to($admins)->queue($email);

This is what happens under the hood. In case you want to use different ways to load the email list.
public function to($address, $name = null)
{
    return $this->setAddress($address, $name, 'to');
}

protected function setAddress($address, $name = null, $property = 'to')
{
    foreach ($this->addressesToArray($address, $name) as $recipient) {
        $recipient = $this->normalizeRecipient($recipient);

        $this->{$property}[] = [
            'name' => isset($recipient->name) ? $recipient->name : null,
            'address' => $recipient->email,
        ];
    }

    return $this;
}

protected function addressesToArray($address, $name)
{
    if (! is_array($address) && ! $address instanceof Collection) {
        $address = is_string($name) ? [['name' => $name, 'email' => $address]] : [$address];
    }

    return $address;
}

protected function normalizeRecipient($recipient)
{
    if (is_array($recipient)) {
        return (object) $recipient;
    } elseif (is_string($recipient)) {
        return (object) ['email' => $recipient];
    }

    return $recipient;
}

