只有邮寄物品可以排队

flo*_*wer 6 laravel-5 laravel-5.1 laravel-5.4

我必须从 5.1 更新到 5.4

这是带有`5.1的邮件代码

Mail::queue('emails.welcome_client', compact('user', 'userPassword'), function ($message) use ($user, $adminEmails) {
    $message->subject('Welcome to Enterprise Solutions!');

    $message->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
    $message->to($user->email);
    foreach($adminEmails as $adminEmail) {
        $message->bcc($adminEmail);
    }
});
Run Code Online (Sandbox Code Playgroud)

我必须从 Laravel 5.1 更改为 5.4 所以我创建对象邮件

这里是

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ClientMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public $user;
    // protected $content;

    public function __construct($user)
    {
        $this->content = $user;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from(('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
            ->subject('Welcome to Enterprise Solutions!')
            ->view('emails.welcome_client');
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制器中我这样做

Mail::to($user->email)
    ->bcc($adminEmail)
    ->queue(new ClientMail($adminEmails)); 
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我得到这个错误:Undefined $adminEmail。我该如何解决这个问题?

小智 7

试试这个:

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ClientMail extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $this->from(('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'))
            ->subject('Welcome to Enterprise Solutions!')
            ->view('emails.welcome_client');

        return $this;
    }
}
Run Code Online (Sandbox Code Playgroud)

在控制器调用中: Mail::to($user->email)->bcc($adminEmails)->queue(new ClientMail());