This commit is contained in:
salam committed 2026-05-08 11:13:49 +02:00
1 parent 9e1bc40d9f
commit 3806df2a00
4 files changed
+43 -23

No files matched your search

+32 -12
View File
@@ -6,6 +6,7 @@ use App\Jobs\SendNewsletterJob;
use App\Models\MailAdressen;
use App\Models\MailGruppen;
use App\Models\MailVorlage;
use Filament\Notifications\Notification;
class SendNewsletter
{
@@ -57,27 +58,46 @@ class SendNewsletter
// "first_name" => "Hermann"
// "last_name" => "Telser"
foreach ($adressen as $mail_data) {
$mails_send = 0;
$mail_data->subjekt = $template->subjekt;
$mail_data->email = $template->email;
$mail_data->absender_name = $gruppe->absender_name;
$mail_data->absender_mail = $gruppe->absender_mail;
foreach ($adressen as $adresse) {
if ($mail_data->anrede == 'Höflich') {
if ($mail_data->gender) {
$anrede = 'Sehr geehrte Frau '.$mail_data->last_name;
$data = [];
$data['subjekt'] = $template->subjekt;
$data['email'] = $adresse->email;
$data['absender_name'] = $gruppe->absender_name;
$data['absender_email'] = $gruppe->absender_mail;
if ($adresse->anrede == 'Höflich') {
if ($adresse->gender) {
$anrede = 'Sehr geehrte Frau '.$adresse->last_name;
} else {
$anrede = 'Sehr geehrter Herr '.$mail_data->last_name;
$anrede = 'Sehr geehrter Herr '.$adresse->last_name;
}
} else {
$anrede = 'Hallo '.$mail_data->first_name;
$anrede = 'Hallo '.$adresse->first_name;
}
$mail_data->inhalt = str_replace('###anrede###', $anrede, $template->inhalt);
$data['inhalt'] = str_replace('###anrede###', $anrede, $template->inhalt);
SendNewsletterJob::dispatch($mail_data);
SendNewsletterJob::dispatch($data);
$mails_send++;
}
if ($mails_send == 1) {
$text = 'Der Newsletter wurde an einem Empfänger versandt';
} elseif ($mails_send > 1) {
$text = 'Der Newsletter wurde an '.$mails_send.' Empfänger versandt';
} else {
$text = 'Der Newsletter wurde nicht verschickt';
}
Notification::make()
->title('Newsletter')
->success()
->icon('heroicon-o-exclamation-triangle')
->body($text)
->send();
}
}
+4 -4
View File
@@ -11,14 +11,14 @@ class SendNewsletterJob implements ShouldQueue
{
use Queueable;
public $mail_data;
public $data;
/**
* Create a new job instance.
*/
public function __construct($mail_data)
public function __construct($data)
{
$this->mail_data = $mail_data;
$this->data = $data;
}
/**
@@ -26,6 +26,6 @@ class SendNewsletterJob implements ShouldQueue
*/
public function handle(): void
{
Mail::to($this->mail_data->email)->send(new Newsletter($this->mail_data));
Mail::to($this->data['email'])->send(new Newsletter($this->data));
}
}
+5 -5
View File
@@ -13,14 +13,14 @@ class Newsletter extends Mailable
{
use Queueable, SerializesModels;
public $mail_data;
public $data;
/**
* Create a new message instance.
*/
public function __construct($mail_data)
public function __construct($data)
{
$this->mail_data = $mail_data;
$this->data = $data;
}
/**
@@ -29,8 +29,8 @@ class Newsletter extends Mailable
public function envelope(): Envelope
{
return new Envelope(
from: new Address($this->mail_data->absender_email, $this->mail_data->absender_name),
subject: $this->mail_data->subjekt,
from: new Address($this->data['absender_email'], $this->data['absender_name']),
subject: $this->data['subjekt'],
);
}