use App\Jobs\SendContactEmail;
use Carbon\Carbon;
class ContactController extends Controller
{
//подготовка данных к отправке на майл админу
$emails = '[email protected]';
$feedback = [
'id' => $contact->id,
'theme' => $theme,
'message' => $message,
'name' => $name,
'email' => $email,
'file' => $filePath,
'created_at' => $contact->created_at,
];
//Вот так работает
Mail::to(explode(', ', $this->emails))->send(new ContactRequestInformation($this->feedback));
// А так приходит на почту только заголовок а "$feedback пишет не существует" Отправка $emails в очередь точно такая же конструкция на laravel 8.12 работает, а на 5,8 "$feedback пишет не существует"
$job = (new SendContactEmail($emails, $feedback))
->delay(Carbon::now()->addMinutes(0.1));
dispatch($job);
}
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Mail;
use App\Mail\ContactRequestInformation;
class SendContactEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $emails;
protected $feedback;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($emails, $feedback)
{
$this->emails = $emails;
$this->feedback = $feedback;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to(explode(', ', $this->emails))->send(new ContactRequestInformation($this->feedback));
}
}
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ContactRequestInformation extends Mailable
{
use Queueable, SerializesModels;
public $feedback;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($feedback)
{
$this->feedback = $feedback;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('mail.contact_send');
}
}