Laravel邮件不符合RFC 2822,3.6.2

I am trying to send email to multiple receivers and I get the error below

Address in mailbox given [2@test.com,3@test.com,4@test.com] does not comply with RFC 2822, 3.6.2.

This is how my data looks like:

array:6 [▼
  "_token" => "xlhKNDnqAuvQpurPpDM2eGseNanUm5P1NBbPA71Z"
  "from" => "test@test.com"
  "mainpeople" => "1@test.com" //to
  "ccpeople" => "2@test.com,3@test.com,4@test.com" //cc
  "subject" => "testing mail"
  "messagenote" => "<p>this is a test mail.<br></p>"
]

Code

$data = array(
  'from' => $request->from,
  'to' => $request->mainpeople,
  'ccpeople' => array($request->ccpeople),
  'subject' => $request->subject,
  'messagenote' => $request->messagenote,
);

Mail::to($data['to'])->cc($data['ccpeople'])->send(new ComposeMail($data));

Also, I tried to loop CC emails but the result was the same:

$data = array(
    'from' => $request->from,
    'to' => $request->mainpeople,
    'ccpeople' => array($request->ccpeople),
    'subject' => $request->subject,
    'messagenote' => $request->messagenote,
);

foreach($data['ccpeople'] as $people){
    $cc = $people;
}

Mail::to($data['to'])->cc($cc)->send(new ComposeMail($data));

Any idea how to fix that?

You can't use array() directly on string to convert it to array:

your $data should be as it is:

$data = array(
  'from' => $request->from,
  'to' => $request->mainpeople,
  'ccpeople' => $request->ccpeople,
  'subject' => $request->subject,
  'messagenote' => $request->messagenote,
);

Instead of

foreach($data['ccpeople'] as $people){
    $cc = $people;
}

try explode() like below :

$cc = explode(',',$data['ccpeople']);

and pass it to your mail function:

Mail::to($data['to'])->cc($cc)->send(new ComposeMail($data));