ldc-legaulois/app/Jobs/Mails/SendArcadiaMail.php
2025-06-11 09:59:07 +02:00

60 lines
1.4 KiB
PHP

<?php
namespace App\Jobs\Mails;
use App\Mail\ContactMail;
use App\Models\MailContactData;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
class SendArcadiaMail implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
/**
* To be serialized by jobs system
*
* @var \App\Models\MailContactData
* */
private $data;
/**
* The path of a specific file.
*
* @var string|null
* */
private $file;
/**
* Create a new job instance.
*
* @param \App\Models\MailContactData $data
* @param string|null $file
* @return void
*/
public function __construct(MailContactData $data, string|null $file = null)
{
$this->data = $data;
$this->file = $file;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::to(config('mail.contactsList.contact'))->send(new ContactMail($this->data, $this->file));
if (file_exists($this->file)) {
File::deleteDirectory(File::dirname($this->file));
}
Log::debug(sprintf('Sent %s to %s', ContactMail::class, implode(',', config('mail.contactsList.contact'))));
}
}