84 lines
2.6 KiB
PHP
84 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace App\Actions\SendMail;
|
|
|
|
use App\Jobs\SendNewsletterJob;
|
|
use App\Models\MailAdressen;
|
|
use App\Models\MailGruppen;
|
|
use App\Models\MailVorlage;
|
|
|
|
class SendNewsletter
|
|
{
|
|
public static function mailit($record)
|
|
{
|
|
/***
|
|
"name" => "Arch Versand 2026"
|
|
"mail_gruppen_id" => 1
|
|
"mail_vorlage_id" => 2
|
|
"sende_zeitpunkt" => "2026-05-08 10:00:00"
|
|
"versand_am" => null
|
|
"ist_active" => 0
|
|
*/
|
|
|
|
$template = MailVorlage::where('id', $record->mail_vorlage_id)->first();
|
|
|
|
/***
|
|
"titel" => "Ein weiteres Beispiel"
|
|
"subjekt" => "Was ich noch sagen wollte"
|
|
"inhalt" => "<p><strong>Hallo ###vorname###</strong></p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolor ▶"
|
|
*/
|
|
|
|
$gruppe = MailGruppen::where('id', $record->mail_gruppen_id)->first();
|
|
|
|
/***
|
|
"name" => "Test Versand"
|
|
"created_at" => "2026-05-06 06:42:16"
|
|
"absender_name" => ""
|
|
"absender_mail" => ""
|
|
*/
|
|
|
|
$adressen = MailAdressen::where('mail_gruppen_id', $record->mail_gruppen_id)->where('deaktiviert', 0)->get();
|
|
|
|
/***
|
|
"mail_gruppen_id" => 1
|
|
"email" => "ht@webwerkstatt.tirol"
|
|
"company" => "WebWerkstatt.tirol"
|
|
"anrede" => "Freundschaftlich"
|
|
"gender" => "0"
|
|
"first_name" => "Hermann"
|
|
"last_name" => "Telser"
|
|
*/
|
|
|
|
// dd($record, $template, $gruppe, $adressen);
|
|
|
|
// "email" => "ht@webwerkstatt.tirol"
|
|
// "company" => "WebWerkstatt.tirol"
|
|
// "gender" => "0"
|
|
// "first_name" => "Hermann"
|
|
// "last_name" => "Telser"
|
|
|
|
foreach ($adressen as $mail_data) {
|
|
|
|
$mail_data->subjekt = $template->subjekt;
|
|
$mail_data->email = $template->email;
|
|
$mail_data->absender_name = $gruppe->absender_name;
|
|
$mail_data->absender_mail = $gruppe->absender_mail;
|
|
|
|
if ($mail_data->anrede == 'Höflich') {
|
|
if ($mail_data->gender) {
|
|
$anrede = 'Sehr geehrte Frau '.$mail_data->last_name;
|
|
} else {
|
|
$anrede = 'Sehr geehrter Herr '.$mail_data->last_name;
|
|
}
|
|
} else {
|
|
$anrede = 'Hallo '.$mail_data->first_name;
|
|
}
|
|
|
|
$mail_data->inhalt = str_replace('###anrede###', $anrede, $template->inhalt);
|
|
|
|
SendNewsletterJob::dispatch($mail_data);
|
|
|
|
}
|
|
}
|
|
}
|