Files
webstatement/app/Jobs/SendEmailBlast.php
Daeng Deni Mardaeni ec56dcbc75 feat(email-blast): perbarui tampilan dan logika pengiriman email blast
- Tambahkan pengambilan data penerima dari model Customer.
- Modifikasi konstruktor EmailBlastMail untuk menerima objek penerima.
- Perbarui tampilan email blast untuk menampilkan subjek dan nama penerima.
- Tambahkan styling baru untuk tampilan email agar lebih menarik.
2025-02-18 21:35:51 +07:00

39 lines
1.1 KiB
PHP

<?php
namespace Modules\Webstatement\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
use Modules\Webstatement\Models\Customer;
use Modules\Webstatement\Models\EmailBlastHistory;
use Modules\Webstatement\Mail\EmailBlastMail;
class SendEmailBlast implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $emailBlastHistory;
protected $recipients;
public function __construct(EmailBlastHistory $emailBlastHistory, array $recipients)
{
$this->emailBlastHistory = $emailBlastHistory;
$this->recipients = $recipients;
}
public function handle()
{
foreach ($this->recipients as $recipient) {
$_receipent = Customer::where('email', $recipient)->first();
Mail::to($recipient)->send(new EmailBlastMail($this->emailBlastHistory, $_receipent));
}
$this->emailBlastHistory->update(['status' => 'completed']);
}
}