From 9c14d4db3b70b25d224f32d460111c24861f0a21 Mon Sep 17 00:00:00 2001 From: isaacclad Date: Thu, 16 Jul 2026 12:01:10 +0000 Subject: [PATCH] fix(email): use client/org name as From display, not Ladill product Customer-facing outbound mail should appear from the business (organizer, clinic, company, location), not the Ladill product brand. --- app/Mail/ContactMessageMail.php | 7 +++++++ app/Services/Comms/EmailService.php | 4 +++- app/Services/Frontdesk/NotificationDispatcher.php | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/Mail/ContactMessageMail.php b/app/Mail/ContactMessageMail.php index 842ccad..d111ebe 100644 --- a/app/Mail/ContactMessageMail.php +++ b/app/Mail/ContactMessageMail.php @@ -4,6 +4,7 @@ namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; +use Illuminate\Mail\Mailables\Address; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; @@ -23,7 +24,13 @@ class ContactMessageMail extends Mailable public function envelope(): Envelope { + $display = trim((string) ($this->fromName ?: $this->companyName)); + $fromAddress = (string) config('mail.from.address'); + return new Envelope( + from: $display !== '' && $fromAddress !== '' + ? new Address($fromAddress, $display) + : null, subject: $this->subjectLine, replyTo: $this->replyToAddress ? [$this->replyToAddress] : [], ); diff --git a/app/Services/Comms/EmailService.php b/app/Services/Comms/EmailService.php index 0c92f2d..9c66ad5 100644 --- a/app/Services/Comms/EmailService.php +++ b/app/Services/Comms/EmailService.php @@ -33,9 +33,11 @@ class EmailService $logoUrl = OrganizationBranding::emailLogoUrl($organization); $companyName = $organization->name; } + // Client-facing From display: org/company name, never the Ladill product brand. + $displayName = trim((string) ($fromName ?: $companyName)) ?: null; try { - Mail::to($to)->send(new ContactMessageMail($subject, $body, $fromName, $replyTo, $logoUrl, $companyName)); + Mail::to($to)->send(new ContactMessageMail($subject, $body, $displayName, $replyTo, $logoUrl, $companyName)); return true; } catch (\Throwable $e) { diff --git a/app/Services/Frontdesk/NotificationDispatcher.php b/app/Services/Frontdesk/NotificationDispatcher.php index 613cb2c..b42be27 100644 --- a/app/Services/Frontdesk/NotificationDispatcher.php +++ b/app/Services/Frontdesk/NotificationDispatcher.php @@ -220,10 +220,11 @@ class NotificationDispatcher } else { try { $html = OrganizationBranding::wrapEmailHtml(nl2br(e($message)), $organization); + $fromName = trim((string) ($credential->bird_from_name ?: $organization->name)) ?: null; $sent = $this->customerEmail->send( $apiKey, (string) $credential->bird_from_email, - $credential->bird_from_name, + $fromName, (string) $host->email, $title, $html,