ldc-groupe/app/Jobs/Mails/SendContactMail.php
K Muller c439c6c089 feat: sparkles: form back and front + newsletter subscribe and unsubscribe + alert message #58
feat: sparkles: form back and front + newsletter subscribe and unsubscribe + alert message
2025-09-16 09:10:40 +02:00

53 lines
1.3 KiB
PHP

<?php
namespace App\Jobs\Mails;
use App\Enums\Contact\ContactFormType;
use App\Mail\ContactMail;
use App\Models\MailContactData;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
class SendContactMail implements ShouldQueue
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
/** @var array List of recipients mails */
private array $mailList;
/**
* Create a new job instance.
*
* @param \App\Models\MailContactData $data
* @return void
*/
public function __construct(private MailContactData $data)
{
$this->mailList = ContactFormType::make($data->enumType)->getContactMails();
}
/**
* Execute the job.
*
* @return void
*/
public function handle(): void
{
foreach ($this->mailList as $recipient) {
Mail::to($recipient)->send(new ContactMail($this->data));
}
Log::debug(
sprintf(
'Sent %s to %s',
$this->data->enumType->label(),
implode(',', $this->mailList)
)
);
}
}