diff --git a/app/Console/Commands/SendDailyReportCommand.php b/app/Console/Commands/SendDailyReportCommand.php index 1a9bdfa..0118c16 100644 --- a/app/Console/Commands/SendDailyReportCommand.php +++ b/app/Console/Commands/SendDailyReportCommand.php @@ -39,7 +39,7 @@ class SendDailyReportCommand extends Command foreach ($recipients as $address) { if (is_string($address) && filter_var($address, FILTER_VALIDATE_EMAIL)) { - $email->send($address, $subject, $body); + $email->send($address, $subject, $body, $organization->name, null, $organization); $sent++; } } diff --git a/app/Jobs/SendCampaignMessageJob.php b/app/Jobs/SendCampaignMessageJob.php index b11ed93..68760bb 100644 --- a/app/Jobs/SendCampaignMessageJob.php +++ b/app/Jobs/SendCampaignMessageJob.php @@ -5,6 +5,7 @@ namespace App\Jobs; use App\Models\Activity; use App\Models\Campaign; use App\Models\CampaignRecipient; +use App\Models\Organization; use App\Models\User; use App\Services\Campaigns\CampaignBillingService; use App\Services\Campaigns\CampaignMessageService; @@ -56,6 +57,8 @@ class SendCampaignMessageJob implements ShouldQueue return; } + $organization = Organization::query()->where('owner_ref', $campaign->owner_ref)->first(); + $sent = $campaign->channel === Campaign::CHANNEL_SMS ? $sms->send((string) $recipient->recipient_phone, $body) : $email->send( @@ -64,6 +67,7 @@ class SendCampaignMessageJob implements ShouldQueue $body, $this->senderName($campaign), $this->senderEmail($campaign), + $organization, ); if (! $sent) { diff --git a/app/Mail/ContactMessageMail.php b/app/Mail/ContactMessageMail.php index 8081ad8..842ccad 100644 --- a/app/Mail/ContactMessageMail.php +++ b/app/Mail/ContactMessageMail.php @@ -17,6 +17,8 @@ class ContactMessageMail extends Mailable public string $bodyText, public ?string $fromName = null, public ?string $replyToAddress = null, + public ?string $logoUrl = null, + public ?string $companyName = null, ) {} public function envelope(): Envelope @@ -34,6 +36,8 @@ class ContactMessageMail extends Mailable with: [ 'bodyText' => $this->bodyText, 'fromName' => $this->fromName, + 'logoUrl' => $this->logoUrl, + 'companyName' => $this->companyName, ], ); } diff --git a/app/Services/Comms/EmailService.php b/app/Services/Comms/EmailService.php index bf33e0b..0c92f2d 100644 --- a/app/Services/Comms/EmailService.php +++ b/app/Services/Comms/EmailService.php @@ -3,6 +3,8 @@ namespace App\Services\Comms; use App\Mail\ContactMessageMail; +use App\Models\Organization; +use App\Support\OrganizationBranding; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Mail; @@ -13,18 +15,31 @@ use Illuminate\Support\Facades\Mail; */ class EmailService { - public function send(string $to, string $subject, string $body, ?string $fromName = null, ?string $replyTo = null): bool - { + public function send( + string $to, + string $subject, + string $body, + ?string $fromName = null, + ?string $replyTo = null, + ?Organization $organization = null, + ): bool { if (! filter_var($to, FILTER_VALIDATE_EMAIL)) { return false; } + $logoUrl = null; + $companyName = null; + if ($organization) { + $logoUrl = OrganizationBranding::emailLogoUrl($organization); + $companyName = $organization->name; + } + try { - Mail::to($to)->send(new ContactMessageMail($subject, $body, $fromName, $replyTo)); + Mail::to($to)->send(new ContactMessageMail($subject, $body, $fromName, $replyTo, $logoUrl, $companyName)); return true; } catch (\Throwable $e) { - Log::warning('CRM email send failed', ['to' => $to, 'error' => $e->getMessage()]); + Log::warning('Frontdesk email send failed', ['to' => $to, 'error' => $e->getMessage()]); return false; } diff --git a/resources/views/email/contact-message.blade.php b/resources/views/email/contact-message.blade.php index 3cb5cc9..d4111db 100644 --- a/resources/views/email/contact-message.blade.php +++ b/resources/views/email/contact-message.blade.php @@ -4,15 +4,26 @@ -
-— {{ $fromName }}
+— {{ $fromName }}
@endifSent via Ladill Frontdesk
+ @if (! empty($companyName)) +{{ $companyName }}
+ @endif