diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php index fdcf887beb5a..76b0634e850b 100644 --- a/app/Http/Controllers/EmailController.php +++ b/app/Http/Controllers/EmailController.php @@ -69,8 +69,11 @@ class EmailController extends BaseController /** @var \App\Models\User $user */ $user = auth()->user(); - if ($request->has('cc_email') && $request->cc_email && (Ninja::isSelfHost() || $user->account->isPaidHostedClient())) { - $mo->cc[] = new Address($request->cc_email); + if ($request->has('cc_email') && (Ninja::isSelfHost() || $user->account->isPaidHostedClient())) { + + foreach($request->cc_email as $email) + $mo->cc[] = new Address($email); + } $entity_obj->invitations->each(function ($invitation) use ($entity_obj, $mo) { diff --git a/app/Http/Requests/Email/SendEmailRequest.php b/app/Http/Requests/Email/SendEmailRequest.php index a2b65364a13e..93b25a9ad5f6 100644 --- a/app/Http/Requests/Email/SendEmailRequest.php +++ b/app/Http/Requests/Email/SendEmailRequest.php @@ -43,8 +43,10 @@ class SendEmailRequest extends Request 'template' => 'bail|required', 'entity' => 'bail|required', 'entity_id' => 'bail|required', - 'cc_email' => 'bail|sometimes|email|nullable', + 'cc_email.*' => 'bail|sometimes|email|nullable', ]; + + } public function prepareForValidation() @@ -72,6 +74,14 @@ class SendEmailRequest extends Request $input['entity'] = "App\Models\\".ucfirst(Str::camel($input['entity'])); } + if(isset($input['cc_email'])){ + $input['cc_email'] = collect(explode(",", $input['cc_email']))->map(function($email){ + return trim($email); + })->filter(function($email){ + return filter_var($email, FILTER_VALIDATE_EMAIL); + })->slice(0,4)->toArray(); + } + $this->replace($input); }