recipient($message))->queue((new ContactRequestSubmitted( senderName: (string) $message->name, senderEmail: (string) $message->email, messageText: (string) $message->message, host: $host ?? $this->hostOf($message), topicLabel: $message->topic->label(), pageUrl: $message->page_url, ))->afterCommit()); } private function recipient(ContactMessage $message): string { return config('domains.domains.'.$message->portal.'.brand.contact_email') ?? config('mail.from.address'); } private function hostOf(ContactMessage $message): string { return parse_url((string) $message->page_url, PHP_URL_HOST) ?: (string) config('domains.domains.'.$message->portal.'.domain_name', $message->portal); } }